načítání...


menu
nákupní košík
Košík

je prázdný
a
b

E-kniha: Programujeme pro Android – Miroslav Ujbányai

Programujeme pro Android

Elektronická kniha: Programujeme pro Android
Autor: Miroslav Ujbányai

Příručka se zabývá operačním systémem Android, seznámí se základy programování mobilních aplikací. Nutná je základní znalost objektového jazyka Java. Seznamuje s nejdůležitějšími funkcemi, věnuje se vývojovým nástrojům a prostředí. Následně ... (celý popis)
Titul je skladem - ke stažení ihned
Médium: e-kniha
Vaše cena s DPH:  181
+
-
6
bo za nákup

hodnoceni - 44.6%hodnoceni - 44.6%hodnoceni - 44.6%hodnoceni - 44.6%hodnoceni - 44.6% 40%   celkové hodnocení
2 hodnocení + 0 recenzí

Specifikace
Nakladatelství: » Grada
Dostupné formáty
ke stažení:
PDF, EPUB, MOBI, PDF
Zabezpečení proti tisku a kopírování: ano
Médium: e-book
Rok vydání: 2012
Počet stran: 187
Rozměr: 24 cm
Úprava: ilustrace
Vydání: Vyd. 1.
Skupina třídění: Programování. Software
Jazyk: česky
ADOBE DRM: bez
Nakladatelské údaje: Praha, Grada, 2012
ISBN: 978-80-247-3995-3
Ukázka: » zobrazit ukázku
Popis / resumé

Příručka se zabývá operačním systémem Android, seznámí se základy programování mobilních aplikací. Nutná je základní znalost objektového jazyka Java. Seznamuje s nejdůležitějšími funkcemi, věnuje se vývojovým nástrojům a prostředí. Následně seznámí s jednoduchou aplikací a informuje o struktuře samotného projektu. Dále se věnuje tvorbě grafického uživatelského rozhraní, popisu a využití základních vizuálních komponent systému, využitím databázového rozhraní SQLite, načítáním a ukládáním datových souborů, vytvářením vlastních widgetů.

Popis nakladatele

Tato publikace vás seznámí se základy programování mobilních aplikací pro operační systém Android. Je určena převážně začínajícím vývojářům a napsána jednoduchou a srozumitelnou formou. U čtenáře se ovšem předpokládá aspoň základní znalost objektového jazyka Java. V první části této knihy se velmi podrobně seznámíte s platformou Android, obdržíte informace o historii, architektuře, nejdůležitějších funkcích a způsobu licencování. Samostatná kapitola je věnována vývojovým nástrojům a popisu základních kamenů Android aplikace. V následné kapitole budete seznámeni s první jednoduchou aplikací a získáte informace o struktuře samotného projektu. Poté vás čeká tvorba grafického uživatelského rozhraní, a dále popis a využití základních vizuálních komponent systému. Na těchto základech jsou postaveny další kapitoly, které se zabývají využitím databázového rozhraní SQLite, načítáním a ukládáním datových souborů, a vytvářením vlastních widgetů.

Předmětná hesla
Zařazeno v kategoriích
Miroslav Ujbányai - další tituly autora:
 (e-book)
Programujeme pro Android -- 2., rozšířené vydání Programujeme pro Android
 
Recenze a komentáře k titulu
Zatím žádné recenze.


Ukázka / obsah
Přepis ukázky

Miroslav Ujbányai

Android

Programujeme pro


Miroslav Ujbányai

Android

Programujeme pro


Upozornění pro čtenáře a uživatele této knihy

Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována a šířena

v papírové, elektronické či jiné podobě bez předchozího písemného souhlasu nakladatele. Neoprávněné

užití této knihy bude trestně stíháno. Programujeme pro Android Ing. Miroslav Ujbányai Vydala Grada Publishing, a.s. U Průhonu 22, 170 00 Praha 7 tel.: +420 234 264 401, fax: +420 234 264 400 www.grada.cz jako svou 4794. publikaci Odpovědná redaktorka Zuzana Malečková Sazba a zlom Tomáš Brejcha Počet stran 192 Vydání 1., 2012 Vytiskly Tiskárny Havlíčkův Brod, a. s. © Grada Publishing, a.s., 2012 Cover Photo © allphoto.cz ISBN 978-80-247-3995-3 (tištěná verze) ISBN 978-80-247-7983-6 (elektronická verze ve formátu PDF) ISBN 978-80-247-7984-3 (elektronická verze ve formátu EPUB)

Obsah 5

Obsah

Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 O autorovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Android – představení 1.1 Co je to Android? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2 Historie OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.2.1 Začínáme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2.2 Google a mobilní zařízení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2.3 Open Handset Alliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2.4 Historie a současnost verzí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.3 Architektura OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.3.1 Linux Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.3.2 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.3.3 Android Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.3.4 Application Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.3.5 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.4 Vlastnosti a funkce OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.5 Licencování OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Vývojové nástroje a prostředí 2.1 Java Development Kit (JDK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2 Software Development Kit (SDK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.2.1 Instalace SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.2.2 Virtuální mobilní zařízení (AVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.3 Vývojové prostředí Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.3.1 Výhody Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.3.2 Instalace Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.3.3 Popis prostředí Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4 Android Development Tool (ADT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.4.1 Stažení a instalace ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.4.2 Konfigurace ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Základní kameny Android aplikace 3.1 Typy aplikací . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2 Anatomie Android aplikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.2.1 Aktivity (Activity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.2.2 Služby (Services) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.2.3 Poskytovatelé obsahu (Content Providers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.2.4 Záměry (Intents) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.2.5 Přijímače (Broadcast Receivers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.2.6 Oznámení (Notifications) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

1.

2.

3.


6 Programujeme pro Android

3.3 Životní cyklus aplikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.4 Životní cyklus aktivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.5 Životní cyklus služby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.6 Android Manifest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.6.1 Struktura a seznam elementů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.6.2 Dodržovaná pravidla v rámci Manifestu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.6.3 Funkce aplikace vs. Android Manifest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.7 Úrovně Android API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.7.1 Co je úroveň API? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.7.2 Použití úrovní API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 První projekt „Hello World“ 4.1 Jak vytvořit Android projekt v prostředí Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.2 Struktura projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.2.1 Kořenová struktura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.2.2 Struktura adresáře res/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.2.3 Struktura adresáře bin/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.3 Obsah Manifestu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.4 První spuštění Android projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Stručný úvod do programování v jazyce Java 5.1 Konstanty a proměnné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.2 Struktury opakování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.2.1 Smyčka while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.2.2 Smyčka do/while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.2.3 Smyčka for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.3 Pole, řetězce a soubory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.3.1 Deklarace, tvorba a inicializace polí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.3.2 Deklarace a použití řetězců . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.3.3 Čtení a zápis dat z/do souboru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.4 Metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.4.1 Metody třídy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.4.2 Metody instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.4.3 Deklarace metod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.4.4 Metoda main() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.4.5 Předávání parametrů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.5 Třídy a objekty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.5.1 Struktura třídy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.5.2 Modifikátory přístupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.5.3 Tvorba třídy a objektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.6 Dědičnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.7 Výjimky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.7.1 Druhy výjimek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.

4.


Obsah 7

5.7.2 Vyvolání výjimek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.7.3 Ošetření výjimek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.7.4 Odchycení výjimek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Uživatelské rozhraní 6.1 Hierarchie uživatelského rozhraní . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.2 Uživatelské rozhraní a aktivita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.2.1 Přiřazení uživatelského rozhraní k aktivitě . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.3 Rozvržení – představení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.4 Lineární rozvržení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

6.4.1 Orientace rozvržení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

6.4.2 Zarovnání objektů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

6.4.3 Parametry rozvržení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

6.4.4 Váha objektů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

6.4.5 Objekty a jejich okraje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6.4.6 Příklad použití lineárního rozvržení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.5 Relativní rozvržení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6.5.1 Koncepce relativity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6.5.2 Relativní pozice vůči rozvržení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6.5.3 Relativní pozice vůči ostatním objektům . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6.5.4 Vyhodnocování pozice objektů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.5.5 Příklad použití relativního rozvržení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.6 Tabulkové rozvržení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.6.1 Skladba tabulkového rozvržení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.6.2 Vkládání objektů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.6.3 Přizpůsobení sloupců tabulky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.6.4 Příklad použití tabulkového rozvržení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 6.7 Posun obrazovky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.8 Změna orientace zobrazení při změně orientace zařízení . . . . . . . . . . . . . . . . 88 Využití standardních vizuálních komponent 7.1 Popisky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

7.1.1 Vlastnosti třídy TextView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 7.2 Textová pole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

7.2.1 Vlastnosti třídy EditText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

7.2.2 Metody třídy EditText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.3 Tlačítka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 7.4 Zaškrtávací pole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

7.4.1 Metody třídy CheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.5 Přepínače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

7.5.1 Metody třídy RadioButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.6 Indikátory průběhu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.7 Datum a čas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

6.

7.


8 Programujeme pro Android

7.7.1 Nastavení data a času . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

7.7.2 Chronometr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.8 Obrázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.9 Seznamy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.9.1 ListView a ListActivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.9.2 Adaptéry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.9.3 Tvorba jednoduchého seznamu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.9.4 Dynamická tvorba seznamu s vlastním rozvržením . . . . . . . . . . . . . . . . . . . 114

7.9.5 Objekt jménem convertView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 7.10 Záložky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

7.10.1 Tvorba záložek pomocí třídy TabHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

7.10.2 Tvorba záložek pomocí třídy ViewFlipper . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

7.10.3 Tvorba záložek pomocí třídy SlidingDrawer . . . . . . . . . . . . . . . . . . . . . . . . . . 122 7.11 Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

7.11.1 Základní menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7.11.2 Vnořené menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7.11.3 Kontextové menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

7.11.4 Menu pomocí XML návrhu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

7.11.5 Příklad použití menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 7.12 Pop-up zprávy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

7.12.1 Bublinové dialogy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

7.12.2 Varovné/informativní dialogy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

7.12.3 Příklad použití dialogů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 7.13 Fonty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

7.13.1 Nastavení fontu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

7.13.2 Externí fonty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Databázový systém SQLite 8.1 Úvod do SQLite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 8.2 Tvorba databáze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 8.3 Tvorba tabulky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 8.4 Vyhledávání dat v databázi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

8.4.1 Vyhledávání pomocí metody rawQuery() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

8.4.2 Vyhledávání pomocí metody query() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 8.5 Práce s daty v databázi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

8.5.1 Vkládání dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

8.5.2 Změna existujících dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

8.5.3 Smazání dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 8.6 Práce s kurzory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 8.7 Nástroje pro práci s databází . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 8.8 Příklad databázové aplikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

8.8.1 Hlavní menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

8.8.2 Kontextové menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

8.


Obsah 9

8.8.3 XML rozvržení – ListView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

8.8.4 XML rozvržení – okno dialogu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

8.8.5 Třída MyDatabaseHelper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

8.8.6 Třída SQLiteDemoActivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Preference 9.1 Systém uložení preferencí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 9.2 Druhy preferencí a jejich použití . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

9.2.1 ListPreference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

9.2.2 EditTextPerference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

9.2.3 CheckBoxPreference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

9.2.4 RingtonePreference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 9.3 Organizace preferencí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 9.4 Zobrazení/načtení preferencí a jejich specifikace . . . . . . . . . . . . . . . . . . . . . . 159 9.5 Příklad použití preferencí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

9.5.1 XML soubor – preference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

9.5.2 XML soubor – aktualizace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

9.5.3 Třída Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

9.5.4 Třída PreferencesDemoActivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Práce s datovými soubory 10.1 Otevření a zobrazení XML souboru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 10.2 Čtení a zápis dat z/do souboru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Widgety na domovské obrazovce 11.1 Widget umístěný na domovské obrazovce? . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 11.2 Tvorba widgetu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

11.2.1 Definice widgetu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

11.2.2 Vytvoření instance widgetu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

11.2.3 Systém aktualizace widgetu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

11.2.4 Konfigurace widgetu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

11.2.5 Vymazání widgetu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Závěr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Rejstřík . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

10.

11.

9.



Úvod 11

Úvod

První „počítače“ spatřily světlo světa již před řadou desetiletí. Tyto výpočetní stroje v té době ještě

nevlastnily žádný operační systém. Jejich éra měla teprve přijít. Stalo se tak v roce 1967, kdy firma

IBM začala ke svým sálovým počítačům dodávat i operační systém MFT. V následujících letech do

cházelo k velkému rozmachu v této oblasti a s příchodem klasických osobních počítačů se vývoj ješ

tě urychlil. Na přelomu 60. a 70. let vznikl v Bellových laboratořích americké firmy AT&T první Unix.

S  příchodem počítače IBM PC přichází na trh firma Microsoft se svým operačním systémem MS

-DOS. Tento systém ovšem využíval pouze příkazový řádek, tudíž programátor, vyvíjející aplikaci pod

MS-DOSem, musel sám řešit textové či grafické rozhraní, což představovalo značnou a zdlouhavou

práci. Vše se změnilo v roce 1985 příchodem operačního systému Windows 1.0, který poprvé před

stavil, na počítačích typu IBM PC, graficko-uživatelské rozhraní. Systém obsahoval grafické knihovny,

pomocí kterých mohl programátor snadno vytvářet grafické ovládací prvky. Tímto krokem se ulehčil

programátorům vývoj nových aplikací, které se díky tomu stávají rychle a snadno dostupné, a díky

grafickému rozhraní pro uživatele snadno ovladatelné a srozumitelné.

Paralelně s  rozšiřujícími se informačními technologiemi dochází rovněž k  průlomu v  oblasti tele

komunikace. Od té doby, co Alexander Graham Bell vynalezl první telefon, uběhlo více jak 100 let.

První slovo „halóóó“ bylo do klasického telefonu vyřknuto už v  roce 1876. Stejné slovo proběhlo

telefonem i v roce 1983, tentokrát bylo ovšem přeneseno do cílové telefonní stanice již bezdrátově.

Ano, svět spatřil první samostatný, skutečně přenosný mobilní přístroj. V dalších několika letech na

stává velký „boom“ a mobilní sítě se rozšiřují jako houby po dešti. V dnešní době vlastní mobilní tele

fon téměř každý a život bez něj by si dokázal představit jen málokdo. Majitelé mobilů mohou klidně

na ulici telefonovat nebo posílat SMS. To jsou základní vlastnosti, kterými mobilní telefon disponuje.

Uběhlo 20 let, vývoj informačních technologií stále vzrůstá. Internet se již zabydlel v  mnoha do

mácnostech. Lidé standardně využívají emailové schránky, nakupují zboží přes internet, komunikují

mezi sebou textovou či hlasovou formou. Kdo nemá internet a všechny vymoženosti s ním spojené,

jakoby neexistoval. Ale mimo svůj domov jej nemá téměř nikdo. To se ovšem všechno radikálně

změnilo v roce 2003, kdy byl světu představen první komunikátor, tzv. „chytrý telefon“.

Chytré telefony (komunikátor, smarthphone, PDA atd.) nyní umožňují uživateli přístup na internet,

pracovat se soubory, komunikovat s přáteli přes ICQ nebo Skype, a to vše díky zabudovanému ope

račnímu systému. Ten je jádrem umožňujícím instalovat a  spouštět programy a  ovládat samotný

telefon stejným způsobem jako na klasickém PC. Vývoji OS (operačního systému) pro mobilní zaří

zení se věnuje mnoho firem a jejich výsledkem jsou například Windows Mobile/Phone, Blackberry,

Symbian OS a samozřejmě také Android.

V naší knize se budeme zabývat operačním systémem Android, jakožto progresivním OS se slibnou

budoucností na poli mobilních zařízení. I když se jedná o jeden z nejmladších operačních systémů,

jeho oblíbenost vzrůstá neuvěřitelným tempem.

Důvodů, proč je tak příznivě přijat všemi skupinami uživatelů, od těch mladších až po firemní kli

entelu, je více. Jedná se o operační systém velmi rychlý a stabilní. Zdrojový kód Androidu je volně

dostupný a šířený jako open source. Tento důvod asi běžný uživatel přímo neocení, ale dělá radost

výrobcům mobilních zařízení. Ti jej s oblibou a bez licenčních poplatků, které by jinak museli pro

mítnout do ceny zařízení, přizpůsobují a instalují do svých výrobků. A tak se stává nejoblíbenějším

systémem pro mobilní zařízení.

Vzhledem k rozšířenosti a obrovskému růstu popularity tohoto OS roste poptávka po kvalitním pro

gramovém vybavení, a tím pádem jsou programátoři, vzdělaní v této oblasti, čím dál více žádaní.

Tato kniha je první svého druhu psaná česky, jež si klade za cíl zasvětit čtenáře do základů a pokro

čilejších technik programování pod tímto operačním systémem, a usnadnit tak proniknutí do tajů

tvorby programů a překonání prvních překážek na této cestě.


12 Programujeme pro Android

O autorovi

Miroslav Ujbányai je programátor průmyslových aplikací ve společnosti VÍTKOVICE IT SOLUTIONS

a.s., jež je součástí skupiny VÍTKOVICE MACHINERY GROUP. Základní pracovní činností je administra

ce stávajících a tvorba nových intranetových a internetových aplikací pomocí technologie ASP.NET,

a z historického hlediska také v jazyce PHP. Pro vývoj aplikací, pokud se jedná o databázové rozhraní,

používá převážně relační, multiplatformní databázi Firebird, dále potom MSSQL a v menší míře také

MySQL. Autor je držitelem několika certifikátů z oblasti programování a databází.


Android – představení 13

1.

Android – představení

První kapitola knihy je určená všem čtenářům, kteří se vývojem pro

operační systém Android nikdy nezabývali, potažmo o Androidu

pouze slyšeli a chtějí se s tímto stále populárnějším systémem

seznámit a dozvědět se základní informace o systému samotném,

popřípadě o jeho historii. Čtenář se v této kapitole také dozví, ve

kterých typech zařízení se Android takříkajíc zabydlel, a která ještě

v budoucnu čekají na jeho příchod. V neposlední řadě si zde povíme

něco málo o vnitřní architektuře systému, jeho vzhledu, popíšeme

jeho základní funkce a také se zmíníme o způsobu licencování.

Tuto kapitolu lze tedy brát jako vstupní bod pro základní

informovanost pro budoucí uživatele, resp. vývojáře tohoto mladého

operačního systému. 1.1 Co je to Android? Android je rozsáhlý operační systém vytvořený společností Google, založený na open source platformě, tedy jedná se o  počítačový software s  otevřeným zdrojovým kódem. Slova „otevřený kód“ zde reprezentují snadnou dostupnost, a to jak technickou, tak licenční. Jinak řečeno, uživatel může systém při splnění jistých podmínek využívat zadarmo a  tato licenční politika mu také umožňuje přistoupit ke zdrojovým kódům, které následně využívá nebo upravuje podle svých potřeb. OS je založen na Linuxovém jádře 2.6 různých verzí, které zajišťuje zabezpečení systému jako celku, správu paměti, správu procesů, přístup k  síti a  ovladačům všech vnitřních senzorů a  komponent. Jednotlivé aplikace k funkcím jádra nepřistupují přímo, ale prostřednictvím Android API. Android je tedy progresivní operační systém primárně vyvíjen jako platforma převážně pro PDA, tablety a tzv. chytré telefony. Byl postaven od základu, který umožní vývojářům vytvářet působivé mobilní aplikace, jež mohou plně využívat všech vlastností, které telefon nabízí, jako např. základní funkce telefonu (obsluha telefonních hovorů, posílání textových zpráv (SMS), nebo využívání fotoaparátu). Takto vybudovaný systém umožňuje vývojářům vytvářet bohatší a soudržnější zážitky pro uživatele. Android je postaven na otevřeném jádře Linux a používá vlastní virtuální stroj, který byl navržen tak, aby optimalizoval paměť a hardwarové prostředky v mobilním prostředí. Tato platforma se bude dále vyvíjet, protože vývojářská komunita pracuje společně na vytváření inovativních mobilních aplikací. 1.2 Historie OS Android je jeden z nejmladších operačních systémů. Pojďme se nyní společně podívat na jeho krátkou, avšak zajímavou historii. V této podkapitole získáte informace napříč celou historií pojednávající o vzniku první společnosti zabývající se vývojem OS, přes její historii až po samotný systém a jeho vývojové verze. Programujeme pro Android 1. 2 .1 Z a č í n á m e Vše začalo založením společnosti Android, Inc. v roce 2003 v Palo Alto v Kalifornii v USA. Zakladateli se stali Andy Rubin, Rich Miner, Nick Sears a Chris White. Společnost začala vyvíjet aplikace pro mobilní zařízení. 1.2.2 Google a mobilní zařízení V srpnu 2005 došlo k odkupu společnosti Android, Inc. a ta se stala stoprocentní dceřinou společností pozdějšího giganta, společnosti Google, a to včetně klíčových zaměstnanců, dřívějších zakladatelů Android, Inc. Google díky akvizici získala nové, zkušené zaměstnance v oboru mobilních technologií. Vznikl nový tým pod vedením Andyho Rubina, jenž vyvinul platformu pro mobilní zařízení, založenou na jádře OS Linux, a  v  roce 2007 získal několik patentů v  této oblasti. Bylo jasné, že Google tímto krokem vstoupil na trh chytrých mobilních telefonů a vydání vlastního přístroje bylo jen otázkou času. 1.2.3 Open Handset Alliance K oficiálnímu představení softwarové platformy Android došlo 5. listopadu 2007. V tento den také vzniklo sdružení firem „Open Handset Alliance“ (dále OHA), které v době založení zahrnovalo více než 30 firem (v těchto dnech více než 80), jako například firmy Intel, HTC, LG, Google, Motorola, T-Mobile, Samsung Electronics atd., a to z oblastí mobilních operátorů, softwarových společností, společností vyrábějících polovodičové součástky nebo výrobců mobilních telefonů. Cílem OHA bylo vytvořit otevřené standardy pro mobilní zařízení. V den oznámení vzniku OHA byl rovněž konsorciem představen první produkt založený na mobilní platformě Android, jenž byl postaven na jádře Linux verze 2.6. Tímto krokem se Android, jako vlajková loď OHA, dostává na trh a začíná jeho boj s konkurencí, která není nikterak malá ani slabá (IPhone, Windows Mobile/Phone, Symbian OS, Palm OS atd.). 1.2.4 Historie a současnost verzí Operační systém Android od svého prvního oficiálního vydání (verze 1.0) prošel řadou změn, které se promítly v několika aktualizacích, opravujících zjištěné chyby a přidávajících novou funkčnost do systému. Jednotlivé verze dostaly název podle zákusků, jdoucích podle abecedy (Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich). Pojďme si je nyní prohlédnout podrobněji, stručně shrnout některé jejich nejdůležitější vlastnosti a funkce. Android 1.0 První oficiální verze, zatím ještě bez přívlastku, spatřila světlo světa 23. září 2008. Tento operační systém dostal do vínku, jako první zařízení na světě, HTC Dream (T-Mobile G1). Byl založen na jádru Linuxu 2.6.25. První Android obsahoval tyto základní funkce a aplikace: ❚ Webový prohlížeč pro zobrazování, posunování a  přibližování HTML a  XHTML stránek s  funkcí

zobrazení více stránek ve formě „karet“. ❚ Fotoaparát bez jakýchkoli dalších funkcí. ❚ Android Market – on-line katalog (obchod), obsahující různé druhy aplikací a her. ❚ Email umožňující přístup k emailovým serverům, které jsou běžně k nalezení na internetu a pod

porují POP3, IMAP4 a SMTP. ❚ Gmail – email od společnosti Google. ❚ Google Contacts – kontakty, jež jsou schopny být synchronizovány s aplikací Kontakty. ❚ Google Calendar – kalendář, jenž je schopen být synchronizován s aplikací Kalendář. ❚ Google Maps s funkcí Latitude (zjištění své polohy z GPS souřadnic) a Street View (pohled do ulic

ve formě panoramatických záběrů v rozsahu 360° horizontálně a 290° vertikálně).

Android – představení 15

❚ Google Sync – software umožňující synchronizaci kontaktů, kalendáře a Gmailu. ❚ Google Talk – komunikační služba umožňující zasílání textových zpráv. ❚ Media Player – přehrávač umožňující správu, importování a přehrávání video souborů. ❚ YouTube přehrávač. ❚ Budík, kalkulačka, galerie obrázků, hlasové vytáčení atd. Android 1.1 Android 1.1 byl oficiálně vydán 9. února 2009. O nové verzi 1.1 můžeme mluvit jako o změně symbolické, neboť bylo opraveno a přidáno jen minimum funkcí a celá změna se týkala pouze jediného zařízení T-Mobile G1. Android 1.5 (Cupcake) Platforma 1.5 přináší pro uživatele a vývojáře řadu nových funkcí postavených na Linuxovém jádře 2.6.27. Seznam základních změn, vylepšení a nových funkcí: ❚ Zpřesnění všech klíčových prvků UI (User Interface – uživatelské rozhraní). ❚ Animace při přechodu mezi obrazovkami. ❚ Rotace aplikací při rotaci zařízení. ❚ Zrychlení spouštění fotoaparátu a snímání fotografií. ❚ Rychlejší získání polohy uživatele přes GPS. ❚ Implementace softwarové klávesnice. ❚ Implementace domovské obrazovky. ❚ Nahrávání videa. ❚ Přehrávání video formátů MPEG-4 a 3GP. ❚ Nahrávání videa na portál YouTube. ❚ Nahrávání fotografií na portál Google Picasa. ❚ Stereo Bluetooth podpora. ❚ Nové rozhraní API a Manifest prvků (pro vývoj aplikací). Android 1.6 (Donut) S příchodem Linuxového jádra 2.6.29 přichází další verze, tentokrát 1.6, která byla uvolněna 15. září 2009. Opět byl systém vylepšen opravou stávající funkčnosti a také doplněn o funkčnost novou. Seznam základních změn, vylepšení a nových funkcí: ❚ Vylepšené grafické rozhraní pro fotoaparát, kameru a obrázkovou galerii. ❚ Přibylo pole pro rychlé vyhledávání  – verze 1.6 obsahuje přepracovaný vyhledávací rámec,

který zajišťuje rychlý, efektivní a konzistentní způsob, jak uživatelům umožnit prohledávat více

zdrojů najednou (záložky prohlížeče a jejich historie, kontakty a web) přímo z domovské obra

zovky. ❚ Nový ovládací panel pro nastavení a konfiguraci VPN (Virtual Private Network). ❚ Přidána byla podpora pro WVGA rozlišení obrazovky. ❚ Vylepšený Android Market. ❚ Aktualizováno vyhledávání hlasem. ❚ Indikátor využití baterie – umožňuje uživatelům zjistit, které aplikace a služby spotřebovávají nej

více energie, a  uživatel na základě těchto informací může přijmout opatření na šetření baterie

úpravou nastavení, popřípadě ukončením aplikace, nebo její odinstalace. Andriod 2.0/2.1 (Eclair) Platforma 2.0/2.1, uvolněna ne dlouho po verzi 1.6, byla postavena na stejném jádře jako verze 1.6, tedy 2.6.29, ale opět přináší mnoho změn, které ocení jak samotní uživatelé, tak vývojáři.

+


16 Programujeme pro Android

Seznam základních změn, vylepšení a nových funkcí:

❚ Inovace v rámci seznamu kontaktů.

❚ Podpora více emailových účtů.

❚ Podpora pro Microsoft Exchange.

❚ Vylepšení softwarové klávesnice.

❚ Podpora pro více velikostí a rozlišení displeje.

❚ Podpora pro Bluetooth verze 2.1.

❚ Úvodní obrazovka podporuje nyní animovanou tapetu.

❚ Fotoaparát obdržel digitální zoom.

❚ Nové prostředí pro webový prohlížeč, ve kterém byla doplněna podpora pro HTML5.

Andriod 2.2 (Froyo)

Dne 20. května 2010 byl na konferenci Google/IO představen nový Android 2.2, postavený na Li

nuxovém jádře 2.6.32. Přidána byla podpora pro nové technologie a také funkce uživatelského roz

hraní.

Seznam základních změn, vylepšení a nových funkcí:

❚ Možnost instalovat aplikace na paměťovou kartu.

❚ Vylepšená podpora pro Microsoft Exchange.

❚ Vylepšení nastavení fotoaparátu a kamery.

❚ Možnost vytvořit ze zařízení WiFi hotspot a sdílet tak internetové připojení pro více zařízení.

❚ Sdílet internetové připojení zapojením zařízení přes USB kabel k počítači.

❚ Přidána podpora pro více jazyků softwarové klávesnice v jeden okamžik.

❚ Zrychlení výkonu systému díky JIT (Just-in-time) kompilátoru.

❚ Vylepšení správy paměti RAM.

Andriod 2.3/2.4 (Gingerbread)

Poslední z  momentálně nejvyužívanějších verzí Androidu 2.3 (Linuxové jádro 2.6.35) byla vydána

6. prosince 2010. Opět došlo ke změnám systému, a to jak v rámci oprav chyb systému minulého,

tak ve sféře doplnění o nové funkce či podporu v nových technologiích.

Seznam základních změn, vylepšení a nových funkcí:

❚ Podpora pro video formát WebM a HTML5.

❚ Podpora internetové telefonie v rámci protokolu SIP.

❚ Nová aplikace Google Maps s 3D přístupem.

❚ Upravená softwarová klávesnice.

❚ Zlepšení funkce „kopírovat“ a „vložit“.

Andriod 3.0/3.1/3.2 (Honeycomb)

Android 3.0 je platforma určená pouze pro Tablety. Novinky ve verzi 3.0 Honeycomb jsou převážně

grafického charakteru, ale nouze o nové funkce zde také nepanuje.

Seznam základních změn, vylepšení a nových funkcí:

❚ Funkce ovládání byla přepracována pro potřeby tabletu.

❚ Přístroje využívající Android 3.0 už nepotřebují fyzická tlačítka, vše obstará systém sám.

❚ Grafika dostala uhlazenější kabát, při přechodu mezi obrazovkami se nyní častěji setkáme s 3D

efekty.

❚ Došlo k přepracování widgetů, nyní jsou „živější“, dostaly na ploše více prostoru a také nové funkce.

❚ Nové Google Maps, nyní ve verzi 5 – ovládání probíhá pomocí multi-touch gest.

❚ Přístup na Google Books.

❚ Vylepšená aplikace YouTube, Gmail atd.


Android – představení 17

Android 4.0/4.0.1/4.0.2 (Ice Cream Sendwich)

Nejnovější verze 4.0 se na trhu objevila koncem roku 2011 na zařízeních Google. Jedná se opět

o platformu open source, která je nasazena na chytré mobilní telefony, na rozdíl od verze 3.0, jež je

primárně určena pro tablety. Jako každá oficiálně vydaná platforma Androidu, i tato přináší jak no

vinky z pohledu uživatele, tak také z pohledu vývojáře nových aplikací, a přináší s sebou ty nejlepší

funkce z Honeycombu.

Seznam základních změn, vylepšení a nových funkcí:

❚ Vylepšená práce s kontakty a sociálními sítěmi.

❚ Vylepšená práce s fotoaparátem.

❚ Detekce obličeje při videohovoru.

❚ Vylepšené rozpoznávání hlasu.

❚ Dokonalejší webový prohlížeč, email a kalendář. Všechny aplikace lze ovládat pohybovými gesty.

❚ Nová funkce Android Beam, která slouží pro rychlou výměnu informací mezi dvěmi telefony

s NFC čipem.

❚ Nové rozhraní API.

❚ Nová funkce Wifi Direct sloužící pro přímé propojení dvou zařízení přes Wifi.

1.3 Architektura OS

Architektura operačního systému Android se skládá z pěti vrstev. Každá vrstva provádí různé opera

ce a vystupuje víceméně samostatně. V praxi však dochází ke spolupráci jednotlivých částí a vrstvy

tímto nejsou mezi sebou striktně odděleny.

Obrázek 1.1: Architektura operačního systému Android

1.3.1 Linux Kernel

Nejnižší vrstva architektury představuje Linux Kernel neboli jádro operačního systému. Její základní

funkcí je implementace abstrakce mezi použitým hardwarem a softwarem ve vyšších vrstvách. Při


18 Programujeme pro Android

startu zařízení je jádro, postavené na Linuxu verze 2.6, zavedeno do operační paměti a je mu předáno řízení, což představuje neustálou kontrolu nad systémem a koordinaci činnosti všech běžících procesů (například souběžný běh aplikací), podpora správy paměti, správy sítí atd. 1.3.2 Libraries Další z  vrstev Android architektury jsou Libraries (knihovny). Android nabízí celou řadu rozhraní API pro vývoj aplikací. Následující seznam základních API by měl poskytnout náhled do toho, co je k dispozici pro všechna Android zařízení: ❚ android.util – hlavní balíček knihoven obsahuje nízko-úrovňové třídy pro specializované kontej

nery, řetězcové formátovače, nebo nástroje pro parsování XML. ❚ android.os – knihovny poskytující přístup k základním službám operačního systému, jako je in

terprocesní komunikace, předávání zpráv, funkce hodin, ladění atd. ❚ android.graphics – knihovny podporující vykreslování grafických prvků na obrazovku. ❚ android.text – knihovny obsahující nástroje pro zpracování a analýzu řetězců a jejich zobrazení. ❚ android.database  – knihovny obsahující nízko-úrovňové třídy potřebné pro práci s  kurzory

v rámci databáze. ❚ android.content – knihovny obsahující třídy pro přístup a publikování dat na zařízení. ❚ android.widget – knihovny umožňující přístup k prvkům uživatelského rozhraní, jako jsou tlačít

ka, seznamy, nabídky atd. ❚ com.google.android.maps – balíček knihoven, umožňující vývojáři přístup a ovládání aplikace

Google Maps. ❚ android.app – knihovny poskytující přístup k aplikačnímu modelu a obsahující API funkce aktivit

a služeb, které tvoří základ pro všechny Android aplikace. ❚ android.provider – systém Android obsahuje několik standardních poskytovatelů obsahu pro

běžné typy dat, jako např. audio/video soubory, obrázky, kontaktní informace, data v  kalendáři

atd. Třídy těchto knihoven poskytují zjednodušené metody přidávání nebo načítání dat z těchto

poskytovatelů. ❚ android.telephony – knihovny umožňující komunikovat se zařízením přímo a sledovat tak stav

telefonu a SMS zpráv, či přijímat telefonní hovory. ❚ android.webkit – knihovny obsahující funkce pro práci s webovým obsahem. Vyjma Android API zde existují knihovny, jež jsou napsány v jazyce C/C++ a využívají je různé komponenty systému. Funkce naprogramovaných knihoven jsou vývojářům aplikací poskytnuty prostřednictvím Android Application Framework. Tato kategorie obsahuje například: ❚ OpenGL – knihovna sloužící k podpoře 3D grafiky založené na OpenGL ES. ❚ FreeType – knihovna pro bitmapové a vektorové vykreslování písma. ❚ libc – standardní C knihovna optimalizovaná pro Linux na bázi embedded zařízení. ❚ SGL – základní knihovna sloužící pro 2D grafický engine. ❚ SQLite – knihovna obsahující relační databázi, která je určitým způsobem „odlehčena“ pro mobil

ní zařízení, jež je dostupná všem aplikacím. ❚ SSL – knihovna podporující využití šifrovacího protokolu pro bezpečnou internetovou komuni

kaci. Rozšířené Android knihovny Základní knihovny poskytují všechny funkce, které jsou potřeba pro spuštění aplikací pro Android, ale po čase dojdete ke zjištění, že je potřeba se ponořit do pokročilého rozhraní API, které nabízí opravdu zajímavou funkčnost. Následující seznam ukazuje některé z těchto knihoven: ❚ android.location – knihovny poskytující přístup k aktuální fyzické poloze zařízení za použití loka

lizace přes GPS.

Android – představení 19

❚ android.media – knihovny poskytující podporu pro přehrávání a nahrávání multimediálních au

dio/video souborů, včetně těch streamovaných. ❚ android.opengl – Android nabízí výkonné 3D vykreslovací jádro pomocí OpenGL ES API, které

lze použít k vytvoření dynamického, 3D uživatelského rozhraní. ❚ android.hardware – prostřednictvím těchto knihoven lze využívat hardware zařízení, jako napří

klad fotoaparát, pohybový senzor, kompas atd. ❚ android.bluetooth, android.net.wifi  – knihovny podporující využití komunikace přes blue

tooth, či wifi. 1.3.3 Android Runtime Tato vrstva obsahuje virtuální stroj DVM (Dalvik Virtual Machine) a základní Java knihovny. Virtuální stroj Dalvik byl vyvíjen od roku 2005 speciálně pro Android společností Google pod vedením Dana Bornsteina. DVM má registrově orientovanou architekturu a využívá základních vlastností Linuxového jádra, jako je například koordinace běžících procesů, správa paměti nebo práce s vlákny. Nový virtuální stroj přišel na svět, jelikož programátoři, kteří vyvíjejí aplikace pro operační systém Android, toto činí prostřednictvím jazyka Java, jehož knihovny jsou licencovány jako open source, avšak virtuální stroj (JVM), který slouží pro překlad programu do spustitelné podoby, již volně šiřitelný není. Dalším důvodem vzniku DVM bylo optimalizovat virtuální stroj pro potřeby mobilních zařízení, tudíž hlavní roli hrál výkon spolu s úsporou energie. Jak již bylo řečeno, obsahem této vrstvy jsou také knihovny programovacího jazyka Java. Jejich obsah lze téměř srovnat s platformou Java SE (Standard Edition), jejímž základem jsou JVM, API knihovny základních funkcí a API knihovny pro vytváření klientských desktopových aplikací (AWT, Swing), s tím rozdílem, že AWT a Swing byly u OS Android nahrazeny knihovnami pro tvorbu uživatelského rozhraní pro Android a přibyly také knihovny Apache pro práci se sítí. Aplikace pro Android jsou programovány v  jazyce Java, následně překládány do Java byte kódu, a nakonec do mezikódu pomocí Dalvik kompilátoru. Výsledný byte kód je spuštěn na DVM. Každá aplikace je samostatný proces s vlastní instancí DVM. 1.3.4 Application Framework Pro vývojáře se jedná o nejdůležitější vrstvu. Díky otevřené vývojové platformě operačního systému Android se programátorům nabízí prostředí pro tvorbu bohatých a inovativních aplikací. Aplikační rámec umožňuje přistoupit k nejrůznějším službám, které mohou vývojáři využívat přímo ve svých aplikacích, a ty jim následně dovolí např. přistoupit na prvky graficko-uživatelského rozhraní, používat hardware zařízení, nastavovat alarmy, spouštět jiné aplikace na pozadí atd. Některé důležité služby aplikačního rámce: View System Umožňuje použít pro tvorbu graficko-uživatelského rozhraní prvky jako textová pole, tlačítka, seznamy, zaškrtávací políčka, přepínače aj. Notification Manager Umožňuje zobrazení stavového řádku s vlastním upozorněním všem aplikacím. Content Providers Umožňuje přistoupit a pracovat s obsahem jiných aplikací, jako například Kontakty, Kalendář aj. Activity Manager Ovládá životní cyklus aplikací, jejich start, průběh a ukončení.



       
Knihkupectví Knihy.ABZ.cz – online prodej | ABZ Knihy, a.s.