Retrofit: synchronní a asynchronní požadavky

Minule jsme si ukázali, jak použít Retrofit v Android studiu. Dnes se podíváme na synchronní a asynchronní požadavky. Synchronní požadavek Při synchronním požadavku, je na server odeslán požadavek, aplikace se „zastaví“ a čeká, dokud neobdrží odpověď od serveru. Asynchronní požadavek Při asynchronním požadavku se používají tzv. callbacky. Na server se odešle požadavek (stejně jako při …

Android se nepřipojuje k WiFi síti bez internetu

Android od verze KitKat (4.4) se automaticky nepřipojuje k WiFi sítím, u kterých nezjistí dostupnost internetu. Asi to dává smysl, proč by se pojil k síti, která nemá internet? Raději zkusí jinou síť kde internet bude. Ale jak to vyřešit pokud chceme aby s k této síti připojoval? Uděláme malý hack, kterým nasimulujeme servery, na …

Android: Retrofit

Před několika lety jsem komunikoval se serverem přes balíček Volley. Protože komunikuji hlavně přes REST rozhraní, nahradil jsem Volley balíčkem Retrofit, který je pro tyto účely doporučovaný. Retrofit je HTTP klient pro Android (Javu), který vám usnadňuje připojení k webové službě REST API. Usnadňuje konzumaci dat JSON a XML. Podporuje příkazy: GET, POST, PUT, PATCH a DELETE. Pojďme si …

Android: životní cyklus activity a fragmentu při otočení displeje

Activity Pojďme si ukázat životní cyklus activity. Červeně je zvýrazněn životní cyklus při otočení displeje. Pokud chcete přenést nějaký stav do nově otočené activity, máte možnost si tento stav uložit v metodě onSaveInstanceState() a obnovit ho v onRestoreInstanceState() nebo v onCreate() Fragment U fragmentu máme podobné možnosti. Stavy opět ukládáme v metodě  onSaveInstanceState() a obnovíme …

Android: dialog a jeho zachování při rotaci displeje

Pokud v Androidu používáte dialogy pro zobrazení nějaké informace uživateli, nesmíte zapomenout na znovuvytvoření activity (při rotaci displeje, zasunutím zařízení do doku, …) při které je activity ukončena a znovu vytvořena. Tím dojde ke zrušení dialogu. Vytvoří se vám v aplikaci při tomto úkonu správně znovu? Pokud používáte klasický AlertDialog (po nějakém úkonu – ne …

Android: zpřístupnění nově vytvořeného souboru přes USB v počítači

Řeším zajímavý úkol: vytvoř v Android zařízení soubor, který bude po připojení telefonu k PC vidět v PC a bude možné jej překopírovat z telefonu do PC. Dejte si pozor, protože od Android 5 musíte jednotlivá oprávnění povolovat na vyžádání, my budeme potřebovat oprávnění pro ukládání na úložiště. Pro jednoduchost vynechám kód nutný pro získání …

Android: jak na responzivní zobrazení komponent na celou výšku displeje

Pokud budete chtít zobrazit komponenty rovnoměrně na celou výšku displeje, můžete využít ConstraintLayout. Jedná se o nový layout, který je dostupný v Android Studiu. Nezapomeňte ošetřit malé displeje, aby se komponenty na displej vešly. Kód pro inspiraci: <?xml version=“1.0″ encoding=“utf-8″?> <android.support.constraint.ConstraintLayout xmlns:android=“http://schemas.android.com/apk/res/android“ xmlns:app=“http://schemas.android.com/apk/res-auto“ xmlns:tools=“http://schemas.android.com/tools“ android:id=“@+id/activity_main“ android:layout_width=“match_parent“ android:layout_height=“match_parent“ tools:context=“cz.vencax.constraintlayout.MainActivity“> <TextView android:id=“@+id/textView1″ android:layout_width=“wrap_content“ android:layout_height=“wrap_content“ android:text=“Hello World!1″ app:layout_constraintLeft_toLeftOf=“parent“ …

Android: layout pro různá zařízení

Pokud si přejete zobrazit různý layout pro telefon, 7″ tablet a 10″ tablet určitě vám pomohou tyto poznámky. Starý a již nepreferovaný způsob: layout výchozí složka – v té máte základní layout layout-large pro 7″ tablet (funguje pro emulátor Nexus 7) layout-xlarge pro 10″ tablet (funguje pro emulátor Galaxy Tab 10.1) Nový preferovaný způsob je vybrání layoutu podle …

Android – jak změnit barvu Chrome záhlaví

Chrome od verze 39 na telefonech Android dokáže změnit barvu záhlaví prohlížeče a přidat logo. Změnu uděláte velice jednoduchou syntaxí. Kód uvedený níže přidáte do tagu tagu <header>: <meta name=“theme-color“ content=“#db5945″> Navíc můžete přidat také ikonu v rozumném rozlišení (192 x 192px): <link rel=“icon“ sizes=“192×192″ href=“pictures/logo192.png“> Výsledek:

Honneywell Dolphin 75e

Do práce jsme vybírali mobilní terminál, který bude mít hardwarovou čtečku čárových kódu. Po prozkoumání nabízených zařízení nám zůstaly pouze zařízení s OS Android (snad s tím W10 ještě zahejbe ale asi to potrvá). Nakonec jsme vybrali Honneywell Dolphin 75e ale pro ten nefungují oficiální ovladače. WTF? Nakonec jsem to obešel takto a ovladače fungují: přesvědčte se že …