Naučíme vás programovat aplikace pro android. Začínáme

aktualizováno 
Zajímalo vás někdy, jak to vypadá uvnitř každé android aplikace, kterou spustíte na svém telefonu? Nabízíme vám příležitost vyzkoušet si práci programátora nebo alespoň otestovat vědomosti v našem jednoduchém mobilním kvízu.

Programování pro operační systém Android. Ilustrační foto | foto: Mobil.iDNES.cz

Programování pro operační systém Android není úplně jednoduchá záležitost. Rychle si sice osvojíte podstatné základy, ale s rostoucí velikostí projektu můžete narážet na problémy s rychlostí aplikace nebo její nestabilitou. Účelem článku je ukázat, jak vypadá android aplikace zevnitř a jak jsou napojeny jednotlivé obrazovky na vlastní logiku programu. Pokud vás toto neláká, můžete rovnou vyzkoušet mobilní kvíz, který vznikl právě pro výukové účely.

Dodejme, že ačkoliv nemusíte umět vůbec programovat a přesto si chcete vytvořit vlastní kvíz, stačí pouze přidávat nové řádky do kódu. Tyto řádky totiž odpovídají novým otázkám, které budou součástí kvízu. Pro plné porozumění kódu je potřeba mít zkušenosti s programovacím jazykem Java, který je základním stavebním kamenem androidu. Důležitá je i alespoň částečná znalost angličtiny. Odkazy na stažení jednotlivých projektů jsou na konci článku.

Příprava nástrojů

Nyní přichází trochu nudnější část, která se týká instalace vývojového prostředí. Kompletní návod je uveden zde a my si dále předvedeme pouze základní náležitosti instalace. Google jako vývojové prostředí oficiálně podporuje pouze Eclipse IDE, které je zdarma a odkaz na stažení je zde. Bohatě postačí verze Classic, do níž se posléze přidají potřebné komponenty pro vývoj.

Vzhledem k tomu, že android stojí a padá na Javě, je potřeba si ještě stáhnout JDK (Java Development Kit) v základní verzi bez Netbeans či Java EE. JDK je základním nástrojem pro práci s Javou nehledě na to, jestli programujete aplikace používané pro běžné počítače nebo mobily. V obou případech nemusíte při instalaci volit žádná speciální nastavení a pouze se nechte provést několika jednoduchými kroky instalace.

Další fází je stažení takzvaného SDK (Software Development Kit) pro Android, což je balíček s nejrůznějšími nástroji, které využívá právě Eclipse nebo některé z nich můžete používat i vy. Patří sem nástroje pro úpravu grafických prvků, testování nebo optimalizaci vzhledu jednotlivých obrazovek: zkrátka kompletní výzbroj pro práci s danou platformou. Balíček si stáhněte a rozbalte na libovolné místo na disku. Nejčastěji se používá umístění v C:\Program Files.

Programování pro operační systém Android
Programování pro operační systém Android
Programování pro operační systém Android

Nyní už máme všechny základní díly skládanky, které je potřeba složit dohromady. K tomu nám poslouží ADT (Android Development Tools) Plugin do prostředí Eclipse, který nám přidá nabídky týkající se androidu. Plugin stáhnete do Eclipse přes nabídku Help – Install New Software - Add. Zde dále zvolte libovolné jméno a jako adresu repository přidejte https://dl-ssl.google.com/android/eclipse/. V dolním okně byste měli mít na výběr řádek Developer Tools, který označte pro stažení. Pokud na vás v další části vyskočí hlášení o autenticitě nebo validitě softwaru, můžete s tím bez větších rozpaků souhlasit.

Blížíme se téměř do finále celé instalace a zbývá pouze správně nakonfigurovat výše zmíněný plugin. Odskočte si tedy v Eclipse do nabídky Windows – Preferences – Android a do políčka napravo zadejte cestu k místu, kam jste rozbalili SDK z druhého kroku instalace.

Zbývá už jen poslední krůček: stažení konkrétní platformy (resp. verze operačního systému Android) a s tím souvisejícího emulátoru androidu. Emulátor je náhrada za fyzické zařízení a slouží k testování vaší aplikace přímo na PC. Díky tomu, že emulátor běží na odlišené výpočetní architektuře než běžný počítač (x86 vs. ARM), je jeho běh o něco pomalejší než u reálného zařízení, které byste mohli mít připojené přes USB.

Programování pro operační systém Android
Programování pro operační systém Android
Programování pro operační systém Android

Danou platformu si stáhnete z nabídky Windows – Android SDK Manager. Na výběr máte prakticky ze všech verzí androidu, co za poslední roky vyšly. Doporučujeme zvolit platformu Android 2.3.3 a z celé palety možností vám bude stačit zaškrtnout pouze SDK Platform. Stažené byste rovněž měli mít ze sekce Tools položky Android SDK Tools a Android SDK Platform-tools.

Nový emulátor vytvoříte v nabídce Windows – Android AVD Manager – New, kde vyplníte název emulátoru (libovolný), zvolíte platformu a případně rozlišení displeje. Emulátor spustíte pomocí tlačítka Start. Při spuštění můžete zvolit, aby se velikost displeje přizpůsobila velikosti reálného zařízení pomocí volby Scale display to real size.

Importujeme projekt

Po nezbytné části instalace nástrojů se dostáváme konečně k samotné tvorbě projektu. Nový projekt můžete vytvořit přes nabídku File – New – Project – Android – Android Project. Pro účely tohoto článku jsme vytvořili dva projekty. Jeden je kompletní zdrojový kód pro náš kvíz a v druhém cvičném projektu několik řádků kódu chybí a je na vás, abyste je doplnili.

V obou případech jsou pro větší názornost jednotlivé řádky kódu okomentovány s vysvětlením, co který dělá. Pro začlenění stažených projektů stačí v Eclipse zvolit nabídku File – Import – General – Existing Projects into Workspace a zvolit složku, kam jste rozbalili stažený projekt. Po importu projektu bude nejspíše nutné ještě zvolit nabídku v horní liště Project – Clean a zvolit daný projekt.

Programování pro OS Android

Android projekt se skládá z několika různých částí. Vývojáři platformy si dali tu práci a pečlivě oddělili samotnou logiku aplikace, která se nachází ve složce \src (Source), od vlastního vzhledu aplikaci ze složky \res (Resources). V druhé zmiňované složce se nacházejí zejména XML soubory popisující podobu jednotlivých obrazovek (tzv. layouty) a kupříkladu ikony nebo obrázky, které se používají napříč celou aplikací. Layouty obecně určují, kde se má na displeji nacházet jaké tlačítko, textové pole nebo podobný ovládací prvek určený pro uživatele.

Programování pro OS Android

Dále v podsložce \values a souboru strings.xml můžete najít dvojice slov a jejich překladů pro jednotlivé jazyky. V našem případě jsou tyto soubory dva – pro češtinu a angličtinu. Složka \res bývá většinou hodně rozvětvená, protože se podle ní řídí, jaké obrázky nebo layouty budou použity pro zařízení, na kterém je aplikace právě spuštěna. Tedy kupříkladu, jestli se má použít layout určený pro malé či velké displeje mobilu nebo obří tablety.

Prozkoumáváme zdrojový kód

Ve složce \src\cz.mobil.quiz naleznete čtyři soubory, které jsou v tuto chvíli klíčové. Jsou to tři takzvané Activity a jedna pomocná třída Question.java, která reprezentuje jednotlivé otázky kvízu. Activita je zjednodušeně řečeno jedna uživatelská obrazovka, která má svůj layout a logiku jednotlivých operací, které se pod danými tlačítky nebo textovými poli skrývají.

Oficiální příručka

Tento článek není v žádném případě náhradou za oficiální materiály z Android Developers Guide. Je spíše malým okénkem do světa programování pro operační systém Android. Zdrojový kód rovněž nemá ideální podobu a byl velmi zjednodušen pro potřeby tohoto článku.

Zaměřme se nyní na soubor MainActivity.java, kde se v metodě onCreate právě sváže vzhled obrazovky (layout) a daná Activita pomocí metody setContentView. Na androidu je skvělé, že automaticky vytváří odkazy na všechny soubory umístěné v \res a můžeme k těmto souborům přistupovat pomocí souboru R.java. V našem případě nastavíme vzhled obrazovky na R.layout.main, což odpovídá souboru main.xml.

Tlačítka a akce, která se má provést po jejich stisknutí, je svázána pomocí tzv. listenerů (posluchačů). V našem případě je nutné tedy provázat tlačítka z hlavního menu na odpovídající akce, jako je spuštění kvízu, zobrazení sekce O aplikaci a ukončení aplikace. Tlačítka a další elementy v XML jsou opět identifikována pomocí svého jedinečného Id, které je možné najít ve zmiňovaném souboru R.java. Stačí tedy zavolat metodu findViewById s Id tlačítka (naleznete ho v souboru layoutu) a posléze k němu přidat náležitého posluchače pomocí metody setOnClickListener.

Programování pro OS Android

U prvních dvou tlačítek menu je potřeba spustit novou Activitu. To se provádí pomocí metody startActivity s parametrem Intent. Intent je obecně řečeno zpráva, která se šíří operačním systémem, kde si jí mohou zachytávat jednotlivými příjemci. Takto aplikace zachytávají Intenty, které obsahují informace o nově došlé SMS nebo příchozím hovoru. V našem případě tato zpráva bude mít jasně daného příjemce, kterou bude Activita kvízu nebo sekce O aplikaci.

Intent tedy bude mít jako parametr současnou Activitu (MainActivity.this) a cílovou Activitu (QuizActivity.class nebo AboutActivity.class). Přiřazení layoutu a posluchačů k tlačítkům je v těchto Activitách obdobné. Můžeme se tedy posunout na samotné zobrazení otázek.

Kvíz začíná

Kvízové otázky jsou uloženy v seznamu s názvem questionList, který jsme naplnili pomocí metody createQuestionList. Právě v této metodě můžete přidávat nebo měnit jednotlivé otázky. Stačí přidávat jednotlivé řádky a měnit pouze dané texty. Stačí dodržet pořadí, tedy jako první text otázky, tři možné odpovědi a číslo správně odpovědi. Pozor na to, že se čísluje od nuly. Dále můžete změnit proměnnou questionCount, která určuje, kolik dostane uživatel otázek. O nic víc se nemusíte starat. Stačí tedy pouze přidávat nové řádky a případně změnit počet otázek v rámci jedné hry.

Programování pro OS Android

Z pohledu programování pro android je zajímavá metoda fillQuestion, která nalezne jednotlivá textová pole u tlačítek odpovědí (tzv. RadioButton)  podle Id a změní jejich popisek a text otázky. Opět se používá metoda findViewById a nastavení textu pomocí metody setText. Uživateli se tak zobrazují stále stejná tlačítka, ale pouze se mění jejich popis. Na závěr celého kvízu se zobrazí dialog showStatistics, kde se do těla zprávy dialogu vyplní počet otázek, na které uživatel odpověděl a počet těch správně zodpovězených. Zbylé části kódu se týkají běžného programování v operačním jazyku Java a samotného principu losování dalších otázek.

Úkol pro vás

Pokud chcete pouze upravovat nebo přidávat otázky, stáhněte si kompletní verzi zdrojových kódů. Naopak pokud chcete něco doplňovat i nad rámec otázek, zvolte druhý projekt. Chybějící části kódu jsou pouze v souborech MainActivity.java a QuizActivity.java a jsou jasně označené. Doplňte na správná místa řádky kódu pro nalezení tlačítek v layoutu a svázání s danou akcí. Upravený projekt spustíte, pokud kliknete pravým tlačítkem na projekt a zvolíte možnost Run As – Android Application. Pokud ještě nebyl emulátor spuštěný, nastartuje se automaticky.

Programování pro OS Android
Programování pro OS Android

Instalační soubor .apk naleznete na disku ve složce s projektem v adresáři \bin. Tento soubor můžete libovolně šířit a posílat ostatním. Ti však musí mít v telefonu nastaveno, že dovolují instalovat aplikace, které nepocházejí z Google Play (Nastavení – Aplikace – Neznámé zdroje).



Nejčtenější

Huawei Mate 20 Pro může být nový král smartphonů. Nechybí mu vůbec nic

Huawei Mate20 Pro

Špičkový Huawei Mate 20 Pro se stal jedním z nejvybavenějších smartphonů na trhu. Jak jsme si mohli již krátce...

Nedívejte se na zabavené iPhony, zablokují se, radí odborníci policistům

iPhone XS Max

Podle instrukcí forenzní firmy Elcomsoft pro americkou policii je vhodné, aby se policisté nedívali zpříma na nové...



Na českém trhu se objeví nová značka smartphonů, budou líbivé a levné

Smartphone UMIDIGI Z2

Na český trh zavítá nová značka UMIDIGI, která nabídne hned tři levnější smartphony. Budou mít zajímavou výbavu i...

Hollywoodská kaskadérka otestovala detekci pádu u nových Apple Watch

Jednou z novinek Apple Watch Series 4 je detekce pádu. Redakce deníku The Wall...

Nová generace hodinek od Applu boduje především většími displeji a možností vykreslit EKG. Novinky přináší i omlazená...

Nové chytré hodinky vydrží nabité dva týdny. Ale promeškaly příležitost

Huawei Watch GT

Záplava novinek od Huaweie se nepřehnala jen v oblasti chytrých telefonů. Firma se v Londýně pochlubila i novými...

Další z rubriky

Tyto aplikace vám řeknou vše o počasí. Vyberte si pro vás tu pravou

Ilustrační snímek

Nástroje, které vám pomohou zjistit, jaké bude počasí, jsou v mobilu mnohdy neocenitelným pomocníkem. Vybrali jsme ty...

Záchranku volejte přes aplikaci. Pomoc je rychlejší než při volání na 155

Simulovaná dopravní nehoda jako praktická ukázka fungování mobilní aplikace...

„Záchranná služba, tísňová linka, dobrý den,“ ohlašuje se operátorka volajícímu, který se stal svědkem dopravní nehody....

Sem chodí smartphony umřít. Aplikaci lze použít jen s vybitou baterií

Die With Me

Aplikace s názvem Umři se mnou má velmi neobvyklé omezení. Nemůžete ji zapnout, pokud máte telefon nabitý víc než na...

Advantage Consulting, s.r.o.
MISTR - STROJÍRENSKÁ VÝROBA

Advantage Consulting, s.r.o.
Jihomoravský kraj, Olomoucký kraj
nabízený plat: 35 000 - 40 000 Kč



Najdete na iDNES.cz