Obsah Úvod
11
O autorovi
11
Koncept knihy
11
Zpětná vazba od čtenářů
12
Zdrojové kódy ke knize
12
Errata
12 ČÁST I VÝVOJ MOBILNÍ APLIKACE
KAPITOLA 1 Vývojové prostředí a výběr frameworku
15
PhoneGap
15
jQuery Mobile
16
Výběr vývojového prostředí
17
Emulátory – Android emulátor
17
Nastavení a konfigurace
19
Jednoduchá aplikace Hi World
29
Spuštění v emulátoru Eclipse Emulátor Ripple
31 31 32
KAPITOLA 2 Vývoj reálné aplikace krok za krokem
33
Vlastnosti a popis aplikace
33
Use Case diagram aplikace Use Case přihlášení uživatele Use Case hlavní stránky aplikace Use Case výpisu historie mých příspěvků Use Case nastavení aplikace
34 34 35 36 37
Založení nového projektu
38
Import důležitých knihoven pro běh aplikace
40 3
K2055_sazba.indd 3
3.4.2013 9:55:54
Obsah
Úvodní strana – rozložení ovládacích prvků
42
Inicializace aplikace a ověření funkčnosti
45
KAPITOLA 3 Přihlašování uživatele
51
Založení účtu pro aplikaci na Twitteru
51
Instalace pluginu ChildBrowser
53
Instalace pluginu jsOAuth
54
Přihlášení uživatele pomocí OAuth
55
Odhlášení uživatele
61
Doplňující funkce a stránky
62
KAPITOLA 4 Načítání tweetů: JSON + AJAX a zpracování dat Datový formát JSON
65 65
Zasílání requestu a zpracování odpovědi ze vzdáleného serveru
68
Výpis načtených dat do ListView
71
KAPITOLA 5 Odesíláme tweety na server
75
Přidání nové stránky s formulářem
75
Získání a ošetření vstupu od uživatele
78
Odeslání dat a získání odpovědi
80
KAPITOLA 6 Práce s GPS a geolokací
83
Práce s GPS, získání GPS koordinátů
83
Úprava odesílání tweetů, přidání GPS souřadnic
84
KAPITOLA 7 Načítání vlastních tweetů a práce s Google Maps
89
Načítání vlastních tweetů
89
Zobrazování na mapě
93
4
K2055_sazba.indd 4
3.4.2013 9:55:54
Obsah
KAPITOLA 8 Testujeme aplikaci v emulátoru Android Využití ladicí konzole v Eclipse Využití ladících nástrojů v prohlížeči KAPITOLA 9 Testujeme aplikaci v reálném zařízení Testování na zařízení KAPITOLA 10 Export apk souboru Vytvoření certifikátu pro export digitálně podepsané aplikace KAPITOLA 11 Příprava aplikace a samotný upload aplikace do Android marketu
99 99 101
103 103
105 106
109
Registrace vývojářského účtu
109
Upload aplikace do Android marketu
110
KAPITOLA 12 Rady na závěr
111
Odeberte pluginy PhoneGap, které vaše aplikace nevyužívá
111
Inicializační funkce umisťujte do onDeviceReady
112
Zvolte pro svoji aplikaci správný UI framework
112
Používejte událost tap namísto onClick
112
Zmenšete zdrojový kód pomocí komprimačních nástrojů
113
KAPITOLA 13 Tipy a triky
115
Přesun aplikace na SD kartu Upravte soubor AndroidManifest.xml Změňte hodnotu Build target Nahrajte do zařízení
115 115 116 116
Linkování aplikací v Android marketu
116
5
K2055_sazba.indd 5
3.4.2013 9:55:54
Obsah
Vložení reklamního banneru pro zobrazení Google reklamy Registrace adMob účtu Založení nové kampaně Import AdMob Android SDK Úprava souboru AndroidManifest.xml Úprava souboru MainActivity
117 117 117 118 118 119
Vytvoření instalačního souboru bez Eclipse a Android SDK Registrace Upload zdrojových kódů aplikace Nastavení informací o aplikaci Upload vývojářských certifikátů Omezení služby PhoneGap Build
120 120 121 121 122 122
ČÁST II REFERENČNÍ MANUÁL KAPITOLA 14 Komponenty
125
Stránky Anatomie stránky Titulky stránek Linkování stránek Transformace a přechody mezi stránkami Dialogová okna Cachování obsahu a přednačítání stránek Ajax, hashe & historie
125 125 129 129 130 132 133 134
Panely nástrojů Základní informace o nástrojových panelech Header panely Footer panely Navigační lišty Fixované pozicování
135 136 136 139 141 144
Tlačítka Základy Ikony tlačítek Inline tlačítka Sdružená tlačítka
147 147 150 154 155
Formátování obsahu Základní formátování obsahu pomocí HTML značek
156 156
6
K2055_sazba.indd 6
3.4.2013 9:55:54
Obsah
Skládací obsah Rozbalovací sady (accordeon)
160 162
Formulářové elementy Základy Struktura Značkovací konvence Zmenšené formulářové elementy Skryté labely Deaktivace formulářových elementů Refresh formulářových elementů Zabránění autoinicializaci formulářových elementů Přehled elementů Textové vstupy Vyhledávací vstupní pole Slider Flip toogle switch Přepínače (radio buttons) Zaškrtávací políčka (check boxy) Select menu
165 165 165 165 165 166 166 167 167 168 169 173 175 178 181 184 186
Listview Základy Vnořené seznamy Číslované seznamy Seznamy pouze pro čtení Seznamy s tlačítky Oddělování položek seznamu Vyhledávací filtr Formátování textu a zobrazení count bubbles Miniatury a ikony v seznamech Vložené seznamy Aktualizace seznamů Konfigurace Metody Události
192 192 192 192 193 193 194 195 197 198 200 200 201 204 204
KAPITOLA 15 API jQuery Mobile Výchozí konfigurační nastavení Práce s autoinicializací jQuery Mobile
205 205 205
7
K2055_sazba.indd 7
3.4.2013 9:55:55
Obsah
Události Dotykové události Události virtuální myši Události změny polohy zařízení Události při scrollování Události při načítání stránky Události při změně stránky Události při přechodu stránky Události při inicializaci stránky Události odebrání stránky Události šablon Události animací
209 209 210 211 211 211 214 215 217 217 218 218
Metody a utility $.mobile.changePage (method) $.mobile.loadPage (method) $.mobile.showPageLoadingMsg (method) $.mobile.hidePageLoadingMsg (method) $.mobile.fixedToolbars.show (method) $.mobile.fixedToolbars.hide (method) $.mobile.path.parseUrl (method) $.mobile.path.makePathAbsolute (method) $.mobile.path.makeUrlAbsolute (method) $.mobile.path.isSameDomain (method) $.mobile.path.isRelativeUrl (method) $.mobile.path.isAbsoluteUrl (method) $.mobile.path.get (method) $.mobile.silentScroll (method) $.mobile.activePage (property)
218 218 220 221 222 222 222 223 225 226 226 227 227 228 229 229
KAPITOLA 16 jQuery Mobile Cheat Sheet Rychlý přehled jQuery Mobile Instalace Základní struktura stránky Linkování stránek Tlačítka ToolBars List View Themes Special Fields
231 231 231 231 232 232 233 233 234 234
8
K2055_sazba.indd 8
3.4.2013 9:55:55
Obsah
KAPITOLA 17 Důležité pojmy
235
API
235
IDE
235
JavaScript
235
Framework
236
JSON
236
AJAX
236
USE CASE
237
DOM
237
Rejstřík
239
9
K2055_sazba.indd 9
3.4.2013 9:55:55