načítání...
menu
nákupní košík
Košík

je prázdný
a
b

E-kniha: Mistrovství – Android – Ľuboslav Lacko

Mistrovství - Android

Elektronická kniha: Mistrovství
Autor: Ľuboslav Lacko
Podnázev: Android

Ucelený přehled aplikací operačního systému pro mobilní zařízení. ... (celý popis)
Titul je skladem - ke stažení ihned
Médium: e-kniha
Vaše cena s DPH:  559
+
-
18,6
bo za nákup

ukázka z knihy ukázka

Titul je dostupný ve formě:
elektronická forma ELEKTRONICKÁ
KNIHA

hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%   celkové hodnocení
0 hodnocení + 0 recenzí

Specifikace
Nakladatelství: » Computer press
Dostupné formáty
ke stažení:
PDF
Upozornění: většina e-knih je zabezpečena proti tisku a kopírování
Médium: e-book
Rok vydání: 2017
Počet stran: 647
Rozměr: 24 cm
Úprava: ilustrace, mapy
Vydání: 1. vydání
Spolupracovali: překlad: Martin Herodek
Skupina třídění: Programování. Software
Jazyk: česky
ADOBE DRM: bez
ISBN: 978-80-251-4875-4
Ukázka: » zobrazit ukázku
Popis / resumé

Ucelený přehled aplikací operačního systému pro mobilní zařízení.

Popis nakladatele

Nehledejte už další zdroje informací, jak vytvářet aplikace pro Android! V Mistrovství najdete ucelený přehled všeho, co pro tvorbu aplikací pro Android potřebujete. Seznámíte se s vývojářskými nástroji, návrhem uživatelského rozhraní a funkčního pozadí aplikace, možnostmi škálování pro telefony, tablety i nositelná zařízení a nabídkou softwarových i hardwarových prvků, které můžete ve svém projektu využít.

Předmětná hesla
Android (operační systém)
mobilní operační systémy
Mobilní aplikace
Zařazeno v kategoriích
Ľuboslav Lacko - další tituly autora:
 (kniha + DVD)
Oracle -- Správa, programování a použití databázového systému Oracle
Vývoj aplikací pro Windows 8.1 a Windows Phone Vývoj aplikací pro Windows 8.1 a Windows Phone
 (e-book)
1001 tipů a triků pro SQL 1001 tipů a triků pro SQL
 (e-book)
Vývoj aplikací pro Android Vývoj aplikací pro Android
 (e-book)
Vývoj aplikací pro Windows 8.1 a Windows Vývoj aplikací pro Windows 8.1 a Windows
Mistrovství - Android Mistrovství
 
Recenze a komentáře k titulu
Zatím žádné recenze.


Ukázka / obsah
Přepis ukázky

Mistrovství

Android

Vyšlo také v tištěné verzi

Objednat můžete na

www.computerpress.cz

www.albatrosmedia.cz

Ľuboslav Lacko

Mistrovství – Android – e‑kniha

Copyright © Albatros Media a. s., 2017

Všechna práva vyhrazena.

Žádná část této publikace nesmí být rozšiřována

bez písemného souhlasu majitelů práv.


Ľuboslav Lacko

Mistrovství

Android

Computer Press

Brno

2017



Obsah

Úvod 15

Kapitola 1

Nástroje pro vývoj 17

Instalace Javy 17 Instalace vývojového prostředí Android Studio 20 První spuštění a konfigurace Android Studia 22 Průběžná aktualizace 26 Vytvoření projektu aplikace 27 Odemknutí zařízení pro vývoj 35

Spuštění aplikace na reálném zařízení 36

Monitorování spuštěné aplikace 38 Seznámení se s vývojovým prostředím 39

Editor kódu v jazyce Java 46

Java pro migranty 48

Gradle 49 Možnosti současného hardwaru 52 Referenční zařízení 52 Vytvoření emulátoru 54 GitHub 57

Vytvoření účtu 58

Vytvoření repozitáře 60

Vytvoření větve (branch) 62

Úprava souborů 63

Kapitola 2

Anatomie Androidu 65

Multiplatformní operační systém 65 Historie verzí 66 Starší verze 66 Android 5.0 Lollipop 68 Android 6.0 Marshmallow 70 Android 7.0 Nougat 72 Stručně o architektuře Androidu 74

Linux Kernel 75

Hardware Abstraction Layer (HAL) 75 Obsah Nativní knihovny 76 Android Runtime – ART 76 Java API Framework 76 Aplikace 77

Kapitola 3

Anatomie aplikace 79

Dříve než začnete vyvíjet – filozofie aplikace 79

Základní součásti aplikace pro Android 83

Aktivity (Activity) 83 Služby (Services) 84 Broadcast receivers 84 Poskytovatelé obsahu (Content providers) 84

Aktivita a její životní cyklus 84

Životní cyklus aktivity 86

onCreate() 87

onStart() a onResume() 87

onPause() 87

onStop() 88

onDestroy() 88 Příklad – životní cyklus aktivity 88 Příklad – ukládání a obnovení stavu aktivity 91 Intent 92 Odevzdávání údajů a výsledků 93 Intent Filter 94

Příklad – Anatomie projektu 96

Vytvoření projektu 96 Výběr cílové platformy 98 Výběr typu hlavní aktivity 99 Složky a soubory tvořící projekt 100 Jednoduchý vizuální návrh uživatelského rozhraní 103

Morphing – změna typu prvku 106 Definice uživatelského rozhraní 107

Uživatelské rozhraní aplikace na různých zařízeních 109

Aplikační kód 111 Odstranění tlačítka FloatingActionButton z Basic Activity 113

Definice objektů ve zdrojích (resources) 113

Textové řetězce 115

Pole řetězců 115

Množné číslo podstatných jmen 115

Modifikátory 116 Aplikační manifest 117 Identifikační grafika aplikace 119Obsah

Kapitola 4

Škálovatelný design 121

Designový styl Material 121 Přizpůsobení rozlišení obrazovky 125 Metrika designu 127

Pravidlo násobků rozměrů 131 Variabilita zařízení a obrazovek 131

Kapitola 5

Uživatelské rozhraní a události 135

Návrh uživatelského rozhraní 136 Kontejnery na rozmístění prvků 137

LinearLayout 137

RelativeLayout 139

FrameLayout 142

TableLayout 143

GridLayout 145

AbsoluteLayout 147

CoordinatorLayout 147

Vnoření kontejnerů 148

ScrollView 150 Příklad – definice rozložení prvků 151

Obsluha události 156

Obsluha událostí ve vizuálním návrhu 159 Příklad – spuštění jiné aktivity 161

Aplikační logika 162

Vytvoření nové aktivity 165 Ladění aplikace 169

Kapitola 6

Fragmenty 173

Fragmenty 174

Životní cyklus fragmentu 175

Statický a dynamický layout 176 Příklad 1 – změna orientace 178

1. Vytvoření layoutu fragmentů 178

2. Hlavní aktivita 179

3. Vytvoření tříd fragmentů 180

4. Úprava třídy hlavní aktivity 181

5. Test aplikace 182 Příklad 2 – hlavní aktivita využívající fragment 182 Příklad 3 – aplikace se dvěma panely 185

1. Vytvoření layoutu fragmentů 185 Obsah

2. Hlavní aktivita 186

3. Vytvoření tříd fragmentů 187

4. Úprava třídy hlavní aktivity 188

5. Test aplikace 188 Příklad 4 – aplikace master-detail se dvěma panely 189

1. Zobrazované údaje 190

2. Hlavní aktivita 190

3. Kód fragmentu na zobrazení seznamu objektů 191

4. Kód fragmentu na zobrazení seznamu detailů 193

5. Aktivita na zobrazení detailu 194

6. Test aplikace 195

Kapitola 7

Aktivity a intenty 197

Intent 197 Explicitní intenty 197

Příklad – explicitní Intenty 200 Implicitní Intenty 204

Příklad – implicitní Intenty 205

Kapitola 8

Interakce s uživatelem 209

Dotyky a gesta 209 Příklad – zobrazení událostí dotyků 211 Příklad – zobrazení vícenásobných dotyků 214 Detekce standardně používaných gest 218 Příklad – detekce gest 219 Příklad – gesto pinch 221 Příklad – univerzální počítadlo 223 Příklad – využití vlastních gest aplikace 226 Floating Action Button 230 Nabídka funkcionality – menu 232 Možnosti aplikační lišty App Bar 233 Navigace pomocí menu 234

Přizpůsobení a rozdělení lišty Action Bar 239

Navigace na jinou aktivitu (a zpět) 240 Rozdělení obsahu na karty 242 Skrývání aplikační lišty 248 Využití vysouvacího panelu Navigation Drawer 250Obsah

Kapitola 9

Seznamy objektů 257

Jak to funguje? 257 Třída ListActivity 259 Příklad – ListActivity s formátovaným zobrazením položek 263

Návrh uživatelského rozhraní 263

Aplikační kód 265 Příklad – ListActivity s kontextovým menu položky 267 Příklad ListView se statickými údaji v poli řetězců 270

Návrh uživatelského rozhraní 270

Aplikační kód 271 Příklad – ListView s údaji v kódu 272

Návrh uživatelského rozhraní 272

Aplikační kód 272 Příklad – výběr více položek ze seznamu 273

Návrh uživatelského rozhraní 274

Aplikační kód 276 Příklad – Zobrazení hierarchické struktury 279

Návrh uživatelského rozhraní 279

Aplikační kód 281 Seznam objektů s obrázky 286

Návrh uživatelského rozhraní 286

Aplikační kód 287 Příklad – Aktivita Master/Detail Flow 291

Vytvoření projektu 291

Struktura projektu 293

Přizpůsobení 294 Přidání objektu do seznamu 298 Seznamy objektů využívající RecyclerView a CardView 301

RecyclerView 301

CardView 302

Příklad RecyclerView a CardView 302

Kapitola 10

Databáze a práce s údaji 309

Ukládání údajů 309

Třída SharedPreferences 309

Příklad – uložení nejvyššího dosaženého skóre hry 310

Příklad – PreferenceFragment 313 Obsah

Ukládání údajů do souboru 316

Příklad – ukládání do souboru v interní paměti 317 Příklad – ukládání do souboru v externí paměti 320

Ukládání dočasných souborů 322

Databáze SQLite 323

Pokusy se zabudovanou databází SQLite v emulátoru 324

Interakce aplikace s databází 326

Java třídy na přístup k SQLite databázi a jejím údajům 327

Příklad – čtenářský deník 328

Rozbor řešení 328 Datový model 331

Vytvoření databázové tabulky 332

Vkládání záznamů do databáze 333

Aktualizace záznamů 334

Vymazání záznamů 334

Výběr údajů z databázové tabulky 335 Návrh uživatelského rozhraní 338

Hlavní aktivita 338

Aktivita na přidání záznamu 341

Aktivita na editování existujícího záznamu 342 Programování aplikační logiky 344

Hlavní aktivita 345

Aktivita na přidání záznamu 346

Aktivita na editování záznamu 347

Údaje z webu ve formátech JSON a XML 349

Rozbor zadání 349 Zdroj údajů pro aplikaci 349 Návrh uživatelského rozhraní 351 Aplikace na načítání údajů ve formátu JSON 353 Aplikace na načítání údajů ve formátu XML 357

Varianta využívající Document Object Model 357

Varianta využívající XmlPullParser 360

Statická data ve formátu XML 365

Aplikační kód 368

Kapitola 11

Grafika 371

Zobrazení obrázku přes XML návrh 372

Zobrazení obrázku programově 373

Zobrazení obrázku z internetu 375

Rozbor řešení 375 Povolení přístupu k internetu 375 Návrh uživatelského rozhraní 375 Aplikační kód 376Obsah Základní grafické tvary – staticky 377 Základní grafické tvary – dynamicky 379 Vykreslování na Canvas 381 Kreslení dotykem na Canvas 382 Dynamické vykreslování na Canvas s využitím View 384 Dynamické vykreslování na Canvas s využitím SurfaceView 387 Animace 390

Metody klasické animace 391

Příklad animace TransitionDrawable 391

Příklad animace AnimationDrawable 392

Příklad animace Tween 394

Property Animation 396

Příklad na ilustraci principu fungování Property Animation 398

Příklad komplexnějšího využití Property Animation 399 Animace prvků uživatelského rozhraní 401

Příklad – animace přesunu tlačítek 402

Kapitola 12

Multimédia 407

Příklad – přehrávání zvuku 408 Příklad – přehrávání videa 412 Příklad – nahrávání zvuku 414 Příklad – Snímání fotografie I 418 Příklad – Snímání fotografie II 423 Příklad – Snímání fotografie s využitím externí aplikace 426 Příklad – Nahrávání videa 427

Kapitola 13

Senzory a komunikace 431

Integrované senzory smartphonů a tabletů 431

Získávání údajů ze senzorů 432

Identifikace senzoru a jeho možností (capabilities) 433

Příklad – zobrazení údajů z akcelerometru 434

Příklad – zobrazení filtrovaných údajů z akcelerometru 438

Příklad – magnetický kompas 442

Senzor osvětlení 446

Náklonoměr 446 Snímač otisků prstů 447 Komunikace přes Bluetooth 455 Obsah

Kapitola 14

Mapy a navigace 461

Lokalizační a mapové služby 461

Příklad – určení polohy zařízení 462

Příklad – určení polohy zařízení 468 Zobrazení polohy na mapě 472

Přípravné kroky 473

Instalace Google Play Services 473

Úvodní příklad 474

Vytvoření Google Maps API klíče 474

Příklad zobrazení polohy na mapě 478

Příklad – Zobrazení polohy v jiné aplikaci schopné zobrazit mapy 479

Příklad – zobrazení aktuální polohy na mapě 483

Kapitola 15

Sociální sítě 487

Vytvoření aplikace využívající Facebook 487

Facebook for developers 487

Sdílení obsahu z aplikace na Facebooku 489

Uživatelské rozhraní na sdílení obsahu na Facebook 490

Vytvoření aplikace pro Android přihlašující se k Facebooku 491 Příklad aplikace na posílání statusů a obrázků 497

Kapitola 16

Cloudové služby 509

Google Cloud Messaging 509 Firebase Cloud Messaging 510

FCM zprávy 512

Příklad na posílání zpráv 514

Konfigurace FCM 518

Přijímání notifikací na popředí 520 Posílání zpráv přes Azure Notification Hub 523

Vytvoření projektu v Android Studiu 523

Vytvoření FCM 523

Vytvoření Azure Notification Hub 525

Přidání služby Google Play do projektu aplikace pro Android 527

Aplikační logika v kódu v Javě 529 Připojení aplikace pro Android k mobilní službě 535

Microsoft Azure Mobile Apps 536

Vytvoření aplikace využívající službu Azure Mobile Apps 537

Konfigurace služby 538Obsah

Kapitola 17

Služby a broadcasty 543

Služba a její životní cyklus 544

Příklad – přehrávání hudby na pozadí 546

Kapitola 18

Poskytování obsahu 551

Třída ContentProvider 551 Ukládání kontaktů v zařízení s Androidem 553 Příklad – přístup ke kontaktům v zařízení 553 Příklad – přístup ke kontaktům, načítání údajů na pozadí 558 Příklad – aktualizace údajů 559 Příklad – vytvoření aplikace, která bude poskytovat údaje 562 Příklad – vytvoření aplikace, která

bude poskytovat údaje z databáze 565

Kapitola 19

Vývoj pro nositelná zařízení 573

Zaměření na účel 573

Nabídka: Kontextový stream 575

Dotaz: Cue cards 575 Vytvoření emulátoru Android Wear 576 Projekt aplikace pro Android Wear 579 Posílání notifikace do hodinek 584 Hospodaření s plochou displeje 587 Aplikace na popředí 589

Kapitola 20

Novinky verze 7.0 Nougat 595

Vylepšené notifikace 595 Podpora více oken (Multi-Window) 601

Jak povolit režim Freeform na zařízení nebo emulátoru s Androidem 7.0 603

Životní cyklus aplikace podporující Multi-Window 604

Příklad aplikace podporující Multi-Window 605

Režim obraz v obraze (Picture-In-Picture) 608 Vývoj aplikace pro Android TV 609

Specifika televizoru z hlediska běhu aplikací 609

Vytvoření projektu aplikace 610 Spuštění aplikace pro Android TV na emulátoru 613 Obsah

Kapitola 21

Publikování aplikací do aplikačního obchodu Google Play 615

Reklama v mobilních aplikacích 615

Formáty reklamy v mobilních aplikacích 616

Odhad profitu z reklamy v aplikacích 616

Specifika a cílení reklamy 617

Modely platby od inzerentů 619

Kritéria úspěšnosti aplikace 619

Google AdWords 620

Zviditelněte se ve vyhledávání Google Play 621 Možnosti a povinnosti vývojáře vůči

aplikačnímu obchodu a publikované aplikaci 622 Registrace vývojářského účtu 622 Vytvoření stránky vývojáře 623 Vytvoření balíčku aplikace na publikování 624 Pravidla publikování aplikace 626 Publikování aplikace 628

Snímky obrazovky 629

Ikona ve vysokém rozlišení 630

Hlavní grafika 630

Propagační grafika 630

Propagační video 631

Rejstřík 633


Úvod Android je v současnosti nejpopulárnější operační systém pro mobilní zařízení, jeho tržní podíl překračuje 80 %. Proto je tato platforma obrovskou výzvou pro vývojáře aplikací. Více než miliarda majitelů chytrých telefonů a tabletů s tímto operačním systémem má obrovský tržní potenciál nejen pro placené, ale i volně stáhnutelné aplikace, protože i v této kategorii mohou úspěšné aplikace svým tvůrcům vydělávat. Na rozdíl od iOS, kde potřebujete na vývoj, aspoň v konečné fázi, počítač s operačním systémem OS X, na vývoj aplikace pro Android můžete použít vývojářský počítač jakékoliv platformy, tedy Windows, Linux i OS X. Všechny klíčové nástroje jsou zdarma, takže k vývoji mobilních aplikací pro Android nejsou zapotřebí žádné investice. Aby bylo možné spouštět aplikace na emulátoru, vývojářský počítač s operačním systémem Windows musí mít minimálně 4 GB RAM. Problém nepředstavuje ani etapa testování, jelikož není důležité otestovat aplikace na „vlajkové lodi“, tam určitě nebude mít žádné problémy s výkonem, ale spíše na levných, méně výkonných telefonech, které jsou samozřejmě mezi lidmi mnohem více rozšířeny. Díky stále rychlejším emulátorům dokážete provést celý vývoj a teoreticky i testování většiny aplikací, které nevyužívají speciální hardwarovou výbavu, aniž byste měli hardwarové zařízení k dispozici fyzicky, avšak v závěrečné fázi před publikováním do aplikačního obchodu doporučujeme důkladně otestovat aplikaci i na „železe“, nejlépe na telefonu i tabletu. Publikace předpokládá určité předběžné znalosti:

„ Znalost programovacího jazyka Java; postačí i znalost C#, jelikož tento jazyk je odvozený

od Javy a je mu velmi blízký

„ Znalost základních principů objektově orientovaného programování

„ Zkušenosti s používáním moderních integrovaných vývojových prostředí

„ Znalost SQL (nejlépe SQLite, ale postačuje základní všeobecný přehled)

„ Znalost základů XML, jelikož v tomto formátu se realizuje návrh uživatelského rozhraní

Zpětná vazba od čtenářů

Nakladatelství a vydavatelství Computer Press, které pro vás tuto knihu připravilo, stojí o zpět

nou vazbu a bude na vaše podněty a dotazy reagovat. Můžete se obrátit na následující adresy:

Computer Press

Albatros Media a.s., pobočka Brno

IBC

Příkop 4

602 00 Brno

nebo

sefredaktor.pc@albatrosmedia.cz

Computer Press neposkytuje rady ani jakýkoli servis pro aplikace třetích stran. Pokud budete

mít dotaz k programu, obraťte se prosím na jeho tvůrce.

Errata

Přestože jsme udělali maximum pro to, abychom zajistili přesnost a správnost obsahu, chybám

se úplně vyhnout nelze. Pokud v některé z našich knih nějakou najdete, ať už v textu nebo v

kódu, budeme rádi, pokud nám ji oznámíte.

Veškerá existující errata zobrazíte na adrese http://knihy.cpress.cz/K2301 po klepnutí na odkaz

Soubory ke stažení. (Nejsou-li žádná errata zatím k dispozici, není odkaz Soubory ke stažení

dost upný.)

Témata kapitoly:

„ Instalace Javy

„ Instalace vývojového

prostředí Android Studio

„ První spuštění a konfigurace

Android Studia

„ Průběžná aktualizace

„ Vytvoření projektu aplikace

„ Odemknutí zařízení

pro vývoj

„ Seznámení se s vývojovým

prostředím

„ Možnosti současného

hardwaru

„ Referenční zařízení

„ Vytvoření emulátoru

„ GitHub

1

KAPITOLA

Nástroje pro vývoj Vstupním bodem k  získání vývojářských nástrojů, návodů a příkladů je stránka http://developer.android.com. K vývoji aplikací budete potřebovat dva balíky softwaru:

„ Java Development Kit (JDK)

„ Android Studio

Ještě před rokem Google doporučoval používat vývojové prostředí Eclipse doplněné o Android Development Tools (ADT) a Android Software Development Kit, jelikož Android Studio bylo dlouho k dispozici pouze ve verzi Early Access Preview a instalace vývojářských nástrojů byla mnohem složitější. Změna oficiálně doporučeného vývojového prostředí představuje v tomto případě jednoznačně krok vpřed. Změnily se některé technologie, například překladač využívající automatizační nástroj Gradle či IntelliJ IDEA Java IDE. Základní principy a filozofie zůstaly zachovány, změnilo se jen uživatelské rozhraní. I nadále budete využívat programovací jazyk Java a návrh uživatelského rozhraní se stále ukládá, případně i vytváří, v dokumentu XML. Díky tomu je migrace z Eclipse na Android Studio rychlá a bezproblémová. A ještě jedna důležitá informace: Projekty vytvořené v Eclipse můžete velmi snadno importovat do Android Studia bez nutnosti předchozího exportu. Instalace Javy Java je objektově orientovaný programovací jazyk, jehož syntaxe je podobná C nebo C++. Java je interpretovaný jazyk, což znamená, že program se nepřekládá přímo do strojového kódu, ale do takzvaného bajtkódu Java. Ten je následně interpretován virtuálním strojem. Java je tak jazyk nezávislý na platformě. O  tom, zda máte, nebo nemáte nainstalovaný Java SE Development Kit a v jaké verzi, se přesvědčíte snadno. Stačí do konzolové aplikace zadat příkaz java –version.

18 KapitOla 1  NástrOje prO vývOj

Obrázek 1.1: Identifikace nainstalované verze JDK

Platforma Java byla produktem společnosti Sun. Tuto společnost i se všemi produkty a řešeními

získala společnost Oracle, která Javu momentálně spravuje. Z jejích stránek je možné Java SDK

stáhnout a nainstalovat. Javu SE Development Kit ve verzi 8, případně novější, stáhnete pro

platformy Windows a Linux, pro platformu macOS stáhnete Javu ze stránek společnosti Apple.

V závislosti na verzi operačního systému stáhněte 32- nebo 64bitovou variantu JDK.

Obrázek 1.2: Vyberte správnou verzi JDK pro váš operační systém

19

1

Nástroje pro vývoj

iNstalace javy

Obrázek 1.3: Instalace JDK

Pokud Android Studio nenajde vámi nainstalované JDK, je potřeba nastavit ještě uživatelskou

proměnnou JAVA_HOME, aby aplikace používající JDK mohly správně pracovat. V systémových

nastaveních Windows 10 klepněte na Rozšířená systémová nastavení a v zobrazeném dialogu

klepněte na tlačítko Proměnné prostředí. Přidejte novou uživatelskou proměnnou JAVA_HOME

a do ní textový řetězec adresáře, ve kterém máte nainstalované JDK.

Obrázek 1.4: Rozšířené systémové nastavení Windows 10 KapitOla 1  NástrOje prO vývOj Obrázek 1.5: Nastavení uživatelské proměnné Instalace vývojového prostředí Android Studio Android Studio jako oficiální nástroj na vývoj aplikací pro Android je k dispozici ke stažení na stránce developer.android.com pro platformy Windows, Linux a macOS. Dříve než zahájíte instalaci, nainstalujte balík Java SE Development Kit (viz předchozí podkapitolu). Instalace Android Studia je jednoduchá a proběhne doslova na jedno klepnutí. Stačí stáhnout instalační soubor a spustit ho. V konfiguračním dialogu instalace doporučujeme ponechat všechny implicitně označené komponenty, tedy:

„ Android Studio

„ Android SDK

„ Android Virtual Device

21

1

Nástroje pro vývoj

iNstalace vývOjOvéhO prOstředí aNdrOid studiO

Obrázek 1.6: Instalace vývojového prostředí Android Studio

Obrázek 1.7: Android Studio – výběr komponent k instalaci

V následujícím dialogu se zobrazí složky, do kterých se nainstaluje Android Studio a Android

SDK.

Během instalace se můžete setkat s oznámením firewallu, že Android Studio potřebuje využívat

síťovou komunikaci, a firewall si od vás vyžádá povolení k přístupu.

22 KapitOla 1  NástrOje prO vývOj

Obrázek 1.8: Android Studio – implicitní adresáře k instalaci

První spuštění a konfigurace

Android Studia

V úvodním dialogu Android Studio Setup Wizard narazíte na oznámení, že bude následovat

kontrola dostupnosti a aktuálnosti verzí Android SDK (Software Development Kit) a v případě

potřeby se nainstalují potřebné aktualizace.

Obrázek 1.9: Android Studio Setup Wizard

23

1

Nástroje pro vývoj

prvNí spuštěNí a KONfigurace aNdrOid studia

Můžete si zvolit typ instalace Standard nebo Custom. Pro běžné nasazení doporučujeme pone

chat označenou volbu Standard.

Obrázek 1.10: Volba Custom umožní vybrat barevné schéma uživatelského rozhraní Android Studia

Následuje volba komponent. Pokud už Android SDK máte nainstalované, například pokud jste

vyvíjeli aplikace v Eclipse, doinstalují se jen aktualizace chybějící komponenty.

Po nainstalování a prvním spuštění doporučujeme zkontrolovat, pro které verze Androidu

máte nainstalovanou podporu. V úvodním dialogu proto ve spodní části klepněte na položku

Configure a z nové nabídky vyberte SDK Manager.

24 KapitOla 1  NástrOje prO vývOj

Obrázek 1.11: Volba Custom umožní vybrat barevné schéma uživatelského rozhraní Android Studia

Obrázek 1.12: Úvodní dialog vývojového prostředí Android Studio

25

1

Nástroje pro vývoj

prvNí spuštěNí a KONfigurace aNdrOid studia

Obrázek 1.13: SDK Manager

V  okně Android SDK Manager si všimněte tří karet: SDK Platforms, SDK Tools a SDK

Update Sites. Na kartě SDK Platforms je seznam SDK pro jednotlivé majoritní verze Androidu.

Implicitně je nainstalované SDK pro Android 6.0 Marshmallow, jehož API má verzi 23. Jelikož

v době psaní této knihy stále ještě dominovaly nižší verze, doporučujeme nainstalovat i je. V této

publikaci budeme jako nejnižší verzi používat Android 5.0.1, tedy verzi API 21. Při rozhodo

vaní, zda vyvíjet aplikace, které budou kompatibilní i s verzí Android 4.4 KitKat, případně 4.1

JellyBean, vám poslouží graf procentuálního zastoupení jednotlivých verzí Androidu na ht tp://

developer.android.com/about/dashboards/index.html. Situaci v době psaní rukopisu dokumen

tuje obrázek.

Stále mají poměrně velké procentuální zastoupení i starší verze. Podle svého uvážení označte

položky, které chcete instalovat, tedy verze Androidu, pro které chcete vyvíjet a testovat aplikace.

Vyvíjet aplikace tak, aby byla zachovaná kompatibilita se staršími verzemi až na výjimky, které jen

potvrzují pravidlo, nemá smysl. Chytré telefony nemají dlouhou životnost, takže přístrojů s kdysi

velmi rozšířenou verzí 2.2 je dnes již mizivé procento. Verze 3.0 HoneyComb byla určena jen pro

tablety a přístrojů s touto verzí se v našich končinách prodalo méně než šafránu. Doporučujeme

vydat se spíše cestou inovací. Každý rok je pro vývojáře v předstihu k dispozici předběžná

podoba (preview) nové verze, aby si mohli nastudovat využití jejích funkcí. Tuto verzi je možné

nainstalovat na novější Nexusy.

Myslíme si, že je velmi užitečné, abyste si SDK pro novou verzi Androidu nainstalovali, vytvořili

si pro tyto platformy emulátory a jako vývojáři se s nimi v předstihu seznámili.

26 KapitOla 1  NástrOje prO vývOj

Obrázek 1.14: Procentuální zastoupení verzí Androidu (duben 2017)

Průběžná aktualizace

Pokud je k dispozici nová verze, opravný balíček, doplněné SDK, vylepšený emulátor a podobně,

Android Studio vám to po spuštění oznámí a zobrazí odkazy ke stažení. Doporučujeme udržo

vat vývojové prostředí aktuální. Jedině tak máte jistotu, že vaše aplikace budou naplno využívat

všechny možnosti operačního systému.

Obrázek 1.15: Oznámení o možnosti aktualizace vývojového prostředí a SDK

26 KAPITOLA 1  NÁSTROJE PRO VÝVOJ

Obrázek 1.14: Procentuální zastoupení verzí Androidu (duben 2017)

Průběžná aktualizace

Pokud je k dispozici nová verze, opravný balíček, doplněné SDK, vylepšený emulátor a podobně,

Android Studio vám to po spuštění oznámí a zobrazí odkazy ke stažení. Doporučujeme udržo

vat vývojové prostředí aktuální. Jedině tak máte jistotu, že vaše aplikace budou naplno využívat

všechny možnosti operačního systému.

Obrázek 1.15: Oznámení o možnosti aktualizace vývojového prostředí a SDK

27

1

Nástroje pro vývoj

vytvOřeNí prOjeKtu apliKace

Nadpis této podkapitoly – Průběžná aktualizace – můžete chápat ve dvou rovinách. Udržujte

aktuální nejen vývojové prostředí, ale i vaši aplikaci. Každá nová verze Androidu přinese nové

a vylepšené funkce, ze kterých by vaše aplikace s vysokou pravděpodobností mohla profitovat.

Proto doporučujeme tyto funkce nastudovat, a má-li to má význam, implementovat je formou

aktualizace do vaší aplikace.

Vytvoření projektu aplikace

Možná se ptáte, proč se pouštíme do vytváření projektu mobilní aplikace dříve, než předsta

víme aspoň v hrubých rysech architekturu operačního systému Android. Důvod je jednoduchý.

Pokud se aplikace dá přeložit a spustit nejprve na emulátoru a následně na reálném zařízení,

máte jistotu, že máte správně nainstalované a nakonfigurované vývojové prostředí, překladač

jazyka Java, Android SDK, emulátor a propojení na reálné zařízení.

První projekt má v tomto případě i motivační význam, jelikož doslova na jedno klepnutí a bez

jakéhokoliv programování vytvoříte aplikaci typu „Hello World“, která vypíše na obrazovku text.

Začátečníci se v tomto příkladu nemusí snažit pochopit souvislosti. Návod na vytvoření cvič

ného projektu je uveden jako obrázkový postup krok za krokem.

Spusťte vývojové prostředí Android Studio. V úvodním dialogu klepněte na položku Start a new

Android Studio project. V úvodním dialogu průvodce vytvořením projektu je potřeba zadat

název projektu a případně i firemní či vývojářovu doménu.

Obrázek 1.16: Android Studio Setup Wizard

28 KapitOla 1  NástrOje prO vývOj

Důležitý je výběr minimální verze SDK. Momentálně je nejvyšší komerčně dostupnou verzí

Android 7.0 (Nougat) – verze API 24. Jako nejnižší verze je v aktuální verzi Android Studia

implicitně nastavená verze 4.0.3 (IceCreamSandwich) – verze API 15. Můžete tak bez omezení

používat nové prvky uživatelského rozhraní. V komentáři je uvedeno, jaké procento uživatelů

využívá tuto a vyšší verze Androidu. Statistika se týká zařízení využívajících aplikační obchod

Google Play. Doba životnosti mobilního telefonu je maximálně dva až tři roky, podobně je tomu

i u tabletů, takže přístrojů se staršími verzemi rapidně ubývá. V našich projektech budeme pou

žívat jako nejnižší verzi Android 5.0 (Lollipop) – verze API 21. V době psaní publikace mělo

tuto (a vyšší) verzi nainstalovano více než 68 procent zařízení a jejich podíl bude rychle stoupat.

Všimněte si, že můžete vytvářet projekty nejen pro telefony a tablety, ale i pro zařízení Android

Wear, například hodinky, automobily, televizory a brýle Google Glass.

Obrázek 1.17: Výběr nejnižší podporované verze Androidu

Z projektu tedy můžete vytvořit aplikace pro dvě nebo více sesterských platforem. Vytvoření tan

demu více projektů je logické. Uživatel bude mít s sebou nositelné zařízení zároveň s telefonem

a tato zařízení budou mezi sebou komunikovat. Také může z telefonu nebo tabletu ovládat televizor.

29

1

Nástroje pro vývoj

vytvOřeNí prOjeKtu apliKace

Platforma Android Wear je příležitostí pro vývojáře na vytvoření užitečných informací pro nové

typy zařízení. Návrh a vývoj aplikace pro zařízení, která nosíme na sobě, například hodinky, brýle

a podobně, vzhledem ke specifikám těchto zařízení vyžaduje jinou filozofii než návrh aplikací

pro mobilní telefony. Pokud si do tabletu nebo telefonu uživatel nainstaluje aplikaci využívající

součinnost s hodinkami, část aplikace běžící v hodinkách se do nich nainstaluje automaticky.

V dalším dialogu můžete zvolit několik typů pro hlavní aktivity aplikace včetně mapové či akti

vity typu master-detail. Další postup se odvíjí od nastaveného typu hlavní aktivity. Například

pokud jste zvolili typ master-detail, systém vás vyzve k definování názvu položky a skupiny

položek. V našem příkladu se spokojíme s implicitně vybranou volbou Empty Activity.

Obrázek 1.18: Výběr typu hlavní aktivity

V  následujícím dialogovém okně Customize the Activity můžete nakonfigurovat detaily

pro vybraný typ aktivity. V poli Activity Name změňte název hlavní aktivity na MyActivity.

Ponechejte označenou volbu Generate Layout File a klepnutím na tlačítko Finish vytvořte

projekt.

Než se vytvoří všechny potřebné soubory tvořící projekt, bude se několik sekund zobrazovat

pouze šedé okno Android Studia s ukazatelem průběhu v dolní části a odhadem času, kolik

sekund ještě příprava zabere. Pokud jste dosud nepovolili firevall pro Javu, zobrazí se vám dia

log, ve kterém to můžete provést.

30 KapitOla 1  NástrOje prO vývOj

Obrázek 1.19: Vytvoření hlavní aktivity

Potom se zobrazí pracovní obrazovka včetně vizuálního návrhu uživatelského rozhraní aplikace.

Zatím bude mít aplikace pouze jedinou funkcionalitu – zobrazí text „Hello World“. S anatomií

projektu se seznámíte v dalších kapitolách. V této fázi se pokusíte projekt spustit, nejprve na

emulátoru a následně na reálném zařízení.

Klepnutím na zelenou šipku můžete aplikaci spustit v emulátoru mobilního zařízení. V dialogu

Device Chooser ponechejte označenou volbu Launch Emulator. V poli Android virtual device

bude implicitně nastavený emulátor zařízení Nexus 4. Ponechejte tuto implicitní volbu. Pokud

jste vytvořili více emulátorů, například emulátor zařízení typu chytrý telefon a emulátor zaří

zení typu tablet, vyberte nejvhodnější emulátor pro daný příklad. Některé emulátory nejsou

kompatibilní s hypervizorem Hyper-V, který je součástí novějších verzí Windows. V tom pří

padě budete muset klepnutím na odkaz hypervizor vypnout a vývojářský počítač restartovat.

31

1

Nástroje pro vývoj

vytvOřeNí prOjeKtu apliKace

Obrázek 1.20: Nový projekt v Android Studiu. Označené jsou ikony na spuštění aplikace a ikona

AVD manageru na konfiguraci emulátorů

Obrázek 1.21: Oznámení o nutnosti vypnutí Hyper-V

32 KapitOla 1  NástrOje prO vývOj

Po restartu vynuceném vypnutím hypervizoru Hyper-V  bude potřeba nainstalovat Intel

Hardware Accellerated Execution Manager (HAXM) a vyhradit mu adekvátní část paměti RAM.

V našem případě měl počítač instalovaných 8 GB RAM a pro HAXM jsme vyhradili doporu

čenou velkost 2 GB.

Obrázek 1.22: Instalace Intel Hardware Accellerated Execution Manager (HAXM)

Tento úkon, tedy vypnutí Hyper-V a instalace HAXM, se samozřejmě provádí pouze jednou.

Proto jsme zařadili projekt typu Hello World do kapitoly o instalaci, jelikož až po přeložení,

linkovaní, spuštění na emulátoru a následně i spuštění projektu na reálném zařízení máte jis

totu, že vývojové prostředí, SDK a emulátory jsou správně nainstalované a nakonfigurované.

Po náběhu emulátoru a jeho odemknutí se vaše aplikace automaticky spustí. V okně Console

v dolní části pracovní plochy můžete sledovat průběh sestavení projektu a jeho zavedení do

emulátoru.

1

Nástroje pro vývoj

vytvOřeNí prOjeKtu apliKace

Pokud by se vám nepodařilo spustit implicitně nastavený emulátor, například pokud nemáte na vývojářském počítači dostatek operační paměti, můžete si nakonfigurovat jiný emulátor s menšími nároky na hardwarové zdroje. V Android Studiu klepněte na ikonu AV D m a n a g e r (čt v r tá zleva). Zobrazí se Android Virtual Device Manager.

Obrázek 1.23: Spuštění

aplikace v emulátoru

34 KapitOla 1  NástrOje prO vývOj

Obrázek 1.24: Android Virtual Device Manager

Obrázek 1.25: Vytváření a konfigurace emulátorů

1

Nástroje pro vývoj

OdemKNutí zařízeNí prO vývOj

Odemknutí zařízení pro vývoj Abyste mohli vytvářet a spouštět aplikace na svém zařízení (bez ohledu na to, zda se jedná o telefon nebo tablet) musíte nejdříve aplikovat následující postup. V aplikaci Nastavení přejděte do nabídky Informace o zařízení a následně vyhledejte položku Číslo sestavení. U některých nadstaveb Androidu je tato položka vnořená na obrazovce Informace o softwaru. Další postup se vám možná bude zdát aprílový, ve skutečnosti však není. Klepejte postupně na položku Číslo sestavení, musíte klepnout až sedmkrát. Pokud například po šestém klepnutí přestanete, Android vás povzbudí, že se jedná o seriózní postup, aby se z vás stal vývojář, a zobrazí vám oznámení „Jste pouhé 1 klepnutí od toho, abyste se stali vývojářem“, jež avizuje, kolikrát je potřeba ještě klepnout. Po posledním klepnutí se zobrazí oznámení „Nyní jste vývojářem“ a v Nastavení přibude položka Pro vývojáře. Proč takový neobvyklý postup? Na zařízeních s operačním systémem Android 4.2 a vyšším je položka Pro vývojáře implicitně skryta a musíte ji nejprve zobrazit. Vývojářský režim totiž umožňuje přímé zavedení aplikace z vývojářského počítače do zařízení s Androidem přes USB a to může být v případě aplikace z neznámého až podezřelého zdroje značně riskantní. V případě vývoje vlastní aplikace nic neriskujete, víte přesně, jakou aplikaci jste vytvořili a co bude dělat. Obrázek 1.26: Postup odemknutí položky Pro vývojáře nalezení položky Číslo sestavení

Obrázek 1.27: Položka Nastavení

Pro vývojáře po odemknutí KapitOla 1  NástrOje prO vývOj Na straně počítače potřebujete pro komunikaci se zařízením s Androidem USB ovladače pro ADB (Android Debug Bridge). Buď použijete ovladač Google USB Driver, který je součástí Android SDK, nebo ovladač dodaný výrobcem zařízení. Spuštění aplikace na reálném zařízení Aby bylo možné aplikaci spustit na reálném zařízení připojeném přes USB, je potřeba na vývojářském počítači nainstalovat USB ovladače pro ADB (Android Debug Bridge). Potom stačí připojit zařízení, které má povolené ladění přes USB. Pro zařízení Nexus, případně některé další, postačí Google USB Driver, který doinstalujete přes SDK Manager na kartě SDK Tools. Pro ostatní zařízení je potřeba ovladač doinstalovat ze stránky výrobce. Některá zařízení (Lenovo, Huawei apod.) mají možnost po připojení zařízení přes USB nastavit, aby se zařízení chovalo jako virtuální CD ROM, na kterém jsou ovladače.

Obrázek 1.28: Seznam voleb,

které můžete nastavit v nabídce

Pro vývojáře

37

1

Nástroje pro vývoj

OdemKNutí zařízeNí prO vývOj

Obrázek 1.29: Instalace ovladače Google USB Driver přes SDK Manager

Po správném nakonfigurování USB ovladače pro ADB se

při pokusu o spuštění aplikace zobrazí nabídka možností.

Obrázek 1.30: Zapnutí ladění přes

USB na připojeném zařízení

38 KapitOla 1  NástrOje prO vývOj

Obrázek 1.31: Výběr hardwarového zařízení ke spuštění aplikace

Monitorování spuštěné aplikace

Hodně zajímavých informací se dozvíte i za běhu aplikace. Po spuštění aplikace – ať už v emu

látoru, nebo na reálném zařízení připojeném přes USB – se v dolní části plochy vývojového

prostředí Android Studio zobrazí okno Android Monitor. Okno má dvě záložky: LogCat, kde

se vypisují události, ať už implicitní, nebo události, které do protokolu zapisujete sami. Příklad

najdete v části o životních cyklech aktivity. Na druhé záložce Monitor můžete například sledo

vat, jak vaše aplikace zatěžuje procesor, GPU, paměť, či síťové připojení.

Obrázek 1.32: Monitorování spuštěné aplikace v okně Android Monitor

39

1

Nástroje pro vývoj

sezNámeNí se s vývOjOvým prOstředím

K monitorování spuštěné aplikace můžete využít i Android Device Monitor. Z Android Studia

tento nástroj spustíte pomocí nabídky Tools → Android → Android Device Monitor.

Obrázek 1.33: Monitorování spuštěné aplikace pomocí nástroje Android Device Monitor

Seznámení se s vývojovým prostředím

Po spuštění vývojového prostředí Android Studio se zobrazí uvítací dialog s nabídkou nejčastěji

prováděných činností. Můžete vytvořit nový projekt, případně otevřít existující, rozpracovaný

projekt. Pro vývojáře, kteří dosud používali jiné vývojové prostředí, například Eclipse + ADT,

je zajímavá možnost přímého importu projektů z dosud používaných vývojářských nástrojů do

Android Studia. Také můžete importovat a testovat různé vzorové příklady. Zároveň tento dialog

poskytuje informaci o aktuální verzi Android Studia a nabízí možnost konfigurace jeho součástí.

40 KapitOla 1  NástrOje prO vývOj

Obrázek 1.34: Úvodní dialog vývojového prostředí Android Studio

Rozmístění pracovních oken vývojového prostředí je na obrázku. Jejich velikost, přesněji poměry

velikosti, lze podle potřeby měnit.

Obrázek 1.35: Uživatelské rozhraní vývojového prostředí Android Studio

V levém svislém podlouhlém okně se zobrazuje struktura projektu uspořádaná přehledně hie

rarchicky. Detailního zobrazení struktury projektu docílíte nastavením volby Android.

1

Nástroje pro vývoj

sezNámeNí se s vývOjOvým prOstředím

Dominantním při návrhu uživatelského rozhraní je náhledové okno. Po nainstalování se zobrazuje i s rámečkem znázorňujícím tělo telefonu. Na vývojářských noteboocích s menšími displeji je to tak trochu plýtvání místem. Tento rámeček lze ale naštěstí vypnout. Vpravo nahoře na liště okna najdete ikonu s ozubeným kolečkem, která zobrazí nabídku nastavení. V této nabídce zrušte zaškrtnutí políčka Include Device Frames. Potom se bude zobrazovat pouze displej, takže budete moct zobrazit větší uživatelské rozhraní. Obrázek 1.37: Nastavení zobrazení – možnost vypnutí rámečku Uživatelské rozhraní můžete navrhnout ve dvou módech: Design a Te x t. Přepínají se pomocí karet ve spodní části okna. V režimu Design je vlevo vedle okna s návrhem uživatelského rozhraní ve sloupcovém okně Palette zobrazena paleta komponent, uprostřed vizuální reprezentace uživatelského rozhraní a vpravo hierarchie komponent a vlastnosti vybrané komponenty. Komponenty z palety můžete přesouvat na plochu aplikace a vhodně rozmístit.

Obrázek 1.36: Možnosti zobrazení

struktury projektu

42 KapitOla 1  NástrOje prO vývOj

Obrázek 1.38: Návrh uživatelského rozhraní – mód Design

V režimu Te x t se vlevo zobrazuje kód XML definice návrhu uživatelského rozhraní a vpravo

jeho vizuální reprezentace. Změny zrealizované v návrhovém kódu se automaticky průběžně

promítají do vizuálního zobrazení.

43

1

Nástroje pro vývoj

sezNámeNí se s vývOjOvým prOstředím

Obrázek 1.39: Návrh uživatelského rozhraní – mód Text

V  pravé části pracovní obrazovky Android Studia najdete ještě dvě důležitá okna. V  okně

Component Tree je hierarchická struktura prvků uživatelského rozhraní. Toto okno posky

tuje perfektní přehled, jak jsou prvky hierarchicky zapouzdřeny ve vizuálních kontejnerech,

případně jak jsou kontejnery zapouzdřeny navzájem. V okně Properties se zobrazují vlastnosti

vybraného prvku.

44 KapitOla 1  NástrOje prO vývOj

Obrázek 1.40: Vlastnosti vybraného prvku v okně Properties

Klíčovou vlastnost vybraného prvku – například v případě prvku EditText je to implicitně defi

novaný textový řetězec – zobrazíte poklepáním na prvek v návrhovém zobrazení.

Obrázek 1.41: Klíčové vlastnosti vybraného prvku

45

1

Nástroje pro vývoj

sezNámeNí se s vývOjOvým prOstředím

Pokud vám více vyhovuje tmavý barevný design uživatelského rozhraní vývojového prostředí

Android Studio, pomocí nabídky File → Settings zobrazte dialogové okno nastavení a na kartě

Appearance nastavte položku Theme na hodnotu Darcula.

Obrázek 1.42: Změna barevného schématu vývojového prostředí Android Studio

U zobrazení zdrojového kódu v programovacím jazyce Java můžete pomocí místní nabídky

zapnout zobrazování čísel řádků. Pomůže vám to například při identifikaci a lokalizaci pří

padné chyby.

46 KapitOla 1  NástrOje prO vývOj

Obrázek 1.43: Zobrazení zdrojového kódu v programovacím jazyce Java

Pro některé často opakované úkony nabízí prostředí klávesové zkratky. Jejich seznam získáte

v nabídce Help pod položkou Default Keymap Reference. Zobrazí se seznam zkratek ve formátu

PDF, který si případně můžete vytisknout a umístit na vhodné místo jako tahák.

Editor kódu v jazyce Java

Vývojové prostředí Android Studio se snaží co nejvíce zjednodušit a zefektivnit psaní kódu.

Pomocí místní nabídky a položky Generate nebo klávesové zkratky Alt+Insert se zobrazí auto

matické generování bloků kódu.

Obrázek 1.44: Dialogové okno s automatickým generováním bloků kódu

Takovýmto způsobem můžete například jednoduše generovat těla kódu metod Override.

47

1

Nástroje pro vývoj

sezNámeNí se s vývOjOvým prOstředím

Obrázek 1.45: Nabídka metod Override

Vývojové prostředí neustále kontroluje syntaktickou správnost vašeho kódu. Pokud narazí na

problém (v našem případě), chybějící středník za příkazovým řádkem, zobrazí se na liště vpravo

červená ikonka s vykřičníkem. Klepnutím na ikonu otevřete nápovědu k problému.

Obrázek 1.46: Výsledek průběžné analýzy kódu

Chyby a upozornění, například na nepoužitou proměnnou, se signalizují na liště vpravo i čer

venými a žlutými čárkami, které jsou rozmístěny proporcionálně s řádky kódu, na nichž se tyto

chyby nacházejí. Klepnutím na čárku se zobrazí podrobnosti.

48 KapitOla 1  NástrOje prO vývOj

Obrázek 1.47: Upozornění, v tomto případě na nepoužitou proměnnou

Java pro migranty

Nejjednodušší situaci, co se týká přechodu na programovací jazyk Java, budou mít programátoři

v C#. Při zběžném pohledu na segment kódu jsou tyto jazyky téměř k nerozeznání.

Programovací jazyk Java má striktní kontrolu typů a rozsahů polí. Nezná pole znaků, text uza

vřený do uvozovek se automaticky konvertuje na objekt typu String. Proměnné primitivních

typů se automaticky inicializují na 0, respektive příslušný ekvivalent, a reference objektů se

automaticky inicializují na hodnotu null.

Java podporuje vícevláknový (multithread) kód s automatickým uzamykáním a dá se vyu

žít i tzv. souběžné programování. Pokud něco nevyjde podle představ vývojáře, přichází ke

slovu robustní systém obsluhy výjimek. Java neumožňuje používat globální datové struktury

ani funkce. Všechny programové struktury musí být zahrnuty v třídách. Namísto oboru jmen

(namespace) používá balíčky (packages).

Pozitivní zprávou je, že Java nezná ukazatele, známý to postrach začátečníků v programovacím

jazyce C, a nedefinuje automatické standardní (default) ani kopírovací (copy) konstruktory.

Namísto destruktorů využívá Java k rušení objektů mechanizmus nazývaný garbage collector,

který pomocí metody finalize() uvolňuje používané zdroje. Objekt se automaticky zruší v pří

padě, že už dále nebude využíván a současně existuje více takovýchto nepoužívaných objektů.

Co se týká objektově orientovaného programování, všechny třídy jsou organizovány v jedno

kořenové (single-root) struktuře začínající třídou Object. Třídy se definují, ne deklarují. Bez

specifikace konkrétního přístupu pro data a metody třídy jsou data a metody automaticky pří

stupné všem třídám definovaným v rámci balíčku. Využívají se i tzv. vnořené (nested) třídy,

které efektivně a pro programátora jednoduše spolupracují s členy nadřazených tříd. Pokud defi

1

Nástroje pro vývoj

sezNámeNí se s vývOjOvým prOstředím

nujete přístupovou úroveň protected, můžete k takto definovaným členům třídy přistupovat z libovolného místa v rámci balíčku, avšak mimo něj pouze z podtříd dané třídy. Rodičovská třída je definovaná pomocí klíčového slova extends a metody rodičovské třídy voláme pomocí klíčového slova super. Toto volání se musí provést na začátku konstruktoru. Java s výhodou používá přetěžování (override) metod. Název metody a seznam jejích parametrů se nazývá signatura. K vytvoření abstraktní třídy (rozhraní) slouží klíčové slovo interface. Následně k definování třídy, která implementuje abstraktní metody rozhraní, slouží klíčové slovo implements. K vytvoření metody, která nemůže být přetížena, slouží klíčové slovo final. Gradle Dosud jsme se nezajímali o to, jak Android Studio zkompiluje či interpretuje zdrojové a návrhové kódy, slinkuje je dohromady se zdroji, vytvoří aplikační balíček, zavede ho do emulátoru nebo reálného zařízení a spustí výslednou aplikaci. Už z předchozí věty je zřejmé, že se jedná o velké množství na sebe navazujících úloh, přičemž následující může (někdy nemusí) být zahájena až po úspěšném ukončení předchozí. Automatizaci úloh při sestavení, zavedení a spuštění aplikace v Android Studiu má na starosti moderní nástroj na automatizaci Gradle, integrovaný přímo v Android Studiu. Gradle je nástroj na automatizaci procesů, přesněji jazyk na automatizaci. Je to jazyk typu Domain Specific Language (DSL), který umožňuje popsat posloupnost úloh, které chceme zautomatizovat. Je založen na Apache Groovy. Samotný Gradle toho moc nedokáže, jeho skutečná síla spočívá v pluginech. Na sestavování projektů aplikací pro Android se využívá Android plugin for Gradle. Obrázek 1.48: Struktura zobrazení složky Gradle v Android Studiu Android Studio umožňuje vytvářet současně více podprojektů, ze kterých se skládá komplexní aplikace. Každý takovýto podprojekt má vlastní build.gradle skript. Za názvem build.gradle je ještě v závorce uvedeno, že je to build soubor pro celý projekt ve tvaru (Project: <project name>). Skript na nejvyšší úrovni obsahuje globální konfiguraci pro všechny podprojekty (moduly). Příklad skriptu:

// Top-level build file where you can add configuration options

// common to all sub-projects/modules.

buildscript {

repositories {

jcenter()

}

dependencies { KapitOla 1  NástrOje prO vývOj

classpath ‚com.android.tools.build:gradle:2.1.2‘

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

allprojects {

repositories {

jcenter()

}

}

task clean(type: Delete) {

delete rootProject.buildDir

} Soubor settings.gradle deklaruje jednotlivé podprojekty. Názvy modulů odpovídají názvům adresářů, ve kterých se nacházejí. V jednoduché aplikaci je v tomto souboru jeden řádek:

include ‚:app‘ Tento soubor, označený build.gradle (Module: app), obsahuje skript:

apply plugin: ‚com.android.application‘

android {

compileSdkVersion 24

buildToolsVersion „23.0.3“

defaultConfig {

applicationId „sk.pcrevue.llacko.obrazoknet“

minSdkVersion 23

targetSdkVersion 24

versionCode 1

versionName „1.0“

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile(‚proguard-android.txt‘),

‚proguard-rules.pro‘

}

}

}

dependencies {

compile fileTree(dir: ‚libs‘, include: [‚*.jar‘])

testCompile ‚junit:junit:4.12‘

compile ‚com.android.support:appcompat-v7:24.0.0‘

}

1

Nástroje pro vývoj

sezNámeNí se s vývOjOvým prOstředím

V prvním řádku skriptu je deklarovaný plugin com.android.application. V sekci android jsou údaje o verzích SDK a verzích nástrojů. Následuje sekce defaultConfig, která obsahuje ID aplikace, minimální a cílovou verzi SDK.

apply plugin: ‚com.android.application‘

android {

compileSdkVersion 24

buildToolsVersion „23.0.3“ Sekce buildTypes obsahuje instrukce, jak spustit ProGuard se souborem APK. A to nejdůležitější nakonec: Sekce dependencies definuje vzájemné závislosti modulů, které se budou kompilovat a sestavovat. Graddle můžete spustit i z příkazového řádku Windows. Příkazem CD “cesta“, například

CD C:BT androidObrazokNet přejdete do adresáře, ve kterém máte projekt vytvořený v Android Studiu a zadáte příkaz

> gradlew.bat assembleRelease V okně konzole můžete sledovat průběh sestavení. Při prvním spuštění se budou navíc stahovat a rozbalovat potřebné moduly.

C:BT androidObrazokNet>gradlew.bat assembleRelease

Incremental java compilation is an incubating feature.

:app:preBuild UP-TO-DATE

:app:preReleaseBuild UP-TO-DATE

:app:checkReleaseManifest

:app:preDebugBuild UP-TO-DATE

:app:prepareComAndroidSupportAnimatedVectorDrawable2400Library UP-TO-DATE

:app:prepareComAndroidSupportAppcompatV72400Library UP-TO-DATE

:app:prepareComAndroidSupportSupportV42400Library UP-TO-DATE

:app:prepareComAndroidSupportSupportVectorDrawable2400Library UP-TO-DATE

:app:prepareReleaseDependencies

:app:compileReleaseAidl UP-TO-DATE

:app:compileReleaseRenderscript UP-TO-DATE

:app:generateReleaseBuildConfig UP-TO-DATE

:app:mergeReleaseShaders UP-TO-DATE

:app:compileReleaseShaders UP-TO-DATE

:app:generateReleaseAssets UP-TO-DATE

:app:mergeReleaseAssets UP-TO-DATE

:app:generateReleaseResValues UP-TO-DATE

:app:generateReleaseResources UP-TO-DATE

:app:mergeReleaseResources UP-TO-DATE

:app:processReleaseManifest UP-TO-DATE

:app:processReleaseResources UP-TO-DATE

:app:generateReleaseSources UP-TO-DATE

:app:incrementalReleaseJavaCompilationSafeguard UP-TO-DATE

:app:compileReleaseJavaWithJavac UP-TO-DATE

:app:compileReleaseNdk UP-TO-DATE

:app:compileReleaseSources UP-TO-DATE KapitOla 1  NástrOje prO vývOj

:app:lintVitalRelease

:app:prePackageMarkerForRelease

:app:transformClassesWithDexForRelease UP-TO-DATE

:app:mergeReleaseJniLibFolders UP-TO-DATE

:app:transformNative_libsWithMergeJniLibsForRelease UP-TO-DATE

:app:processReleaseJavaRes UP-TO-DATE

:app:transformResourcesWithMergeJavaResForRelease UP-TO-DATE

:app:packageRelease UP-TO-DATE

:app:assembleRelease

BUILD SUCCESSFUL

Total time: 14.428 secs

C:BT androidObrazokNet> Možnosti současného hardwaru Hodně uživatelů ani netuší, jaký obrovský výpočetní a často i grafický výkon nosí v kapsách. Zkuste se přenést o 20 let zpět, kdy se začaly do počítačů osazovat procesory Intel Pentium. Byly taktované na 60 MHz, ty nejdražší dosahovaly tehdy až neuvěřitelných 75 MHz. Nejvýkonnější stroje měly k dispozici 64 MB paměti RAM. A nyní to porovnejte s moderním smartphonem střední třídy. Například Huawei P8 Lite – telefon v cenové hladině 5 000 Kč, tedy žádná vlajková loď ani horká novinka, v době psaní knihy byl už rok na trhu – má osmijádrový procesor s taktem 1,2 GHz, 2 GB paměti RAM a 16 GB úložného prostoru. Dokázali jste si v éře prvních Pentií vůbec představit počítač, natož pak levný mobilní telefon, který bude mít dvacetkrát výkonnější procesor (reálně mnohem víc, protože první Pentium mělo jen jedno jádro a procesory mobilů mají 4 až 8) a třicetkrát více paměti? Stejně neslavně dopadne špičkový počítač nedávné minulosti v porovnání s inteligentními hodinkami. Například hodinky Samsung Gear S2 mají dvoujádrový procesor taktovaný na 1,2 GHz, 512 MB RAM a úložný prostor s kapacitou 4 GB. Proč tyto věci zmiňujeme? Velký výkon mobilních zařízení je totiž zároveň i velkou výzvou pro vývojáře aplikací, aby tento výkon dokázali využít a poskytnout uživateli své aplikace co nejvyšší přidanou hodnotu. Představt



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