Premium

Získejte všechny články
jen za 49 Kč/měsíc

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

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).

Vstoupit do diskuse (92 příspěvků)

Nejčtenější

Tyto hodinky mají porazit Apple Watch. Laciný luxus se bude nosit jinak

Audemars Piguet × Swatch Royal POp

Švýcarská hodinářská společnost Swatch se po letech opět postarala o velké pozdvižení. Po velké vlně zájmu, kterou dříve vzedmuly její hodinky Omega × Swatch Moonswatch, teď přichází hodně netradiční...

Socialistické telefony, takové jsme měli doma. Našli jsme je v muzeu

ilustrační snímek

Unikátní muzeum nabízí pohled do dávné i nedávné historie telekomunikací. Výjimečné je tím, že mnohé exponáty jsou funkční, takže si je lze vyzkoušet. Třeba jako některé telefony ze éry socialismu.

Jsou to naprosto nejdražší chytré hodinky na trhu. Je k tomu pádný důvod

Huawei Watch Ultimate Design Spring Edition

Výrobce Huawei překvapil fanoušky speciální edicí hodinek Huawei Watch Ultimate. Novinka s plným názvem Huawei Watch Ultimate Design Spring Edition cílí elegantním pouzdrem posázeným diamanty na...

Nevěřili jsme vlastním očím. Postavili repliku Prahy a nacpali ji kancelářemi

Huawei Ox Horn Campus

Huawei pro své pracovníky vybudoval kanceláře ve zmenšených replikách evropských měst, včetně těch, která čínští turisté navštěvují nejraději v Česku, tedy Prahy a Českého Krumlova. Ohromný kampus v...

Tyto sportovní hodinky chtějí porazit Apple Watch. Jsou výrazně levnější

Huawei Watch Fit 5 Pro

Huawei startuje na českém trhu prodej chytrých hodinek Watch Fit 5 Pro. Jde o prémiový sportovní model, který se inspiroval modelem od Applu. Má však celou řadu nadstandardních funkcí, a hlavně...

Nevěřili jsme vlastním očím. Postavili repliku Prahy a nacpali ji kancelářemi

Huawei Ox Horn Campus

Huawei pro své pracovníky vybudoval kanceláře ve zmenšených replikách evropských měst, včetně těch, která čínští turisté navštěvují nejraději v Česku, tedy Prahy a Českého Krumlova. Ohromný kampus v...

21. května 2026

Tyto sportovní hodinky chtějí porazit Apple Watch. Jsou výrazně levnější

Huawei Watch Fit 5 Pro

Huawei startuje na českém trhu prodej chytrých hodinek Watch Fit 5 Pro. Jde o prémiový sportovní model, který se inspiroval modelem od Applu. Má však celou řadu nadstandardních funkcí, a hlavně...

20. května 2026

Jsou to naprosto nejdražší chytré hodinky na trhu. Je k tomu pádný důvod

Huawei Watch Ultimate Design Spring Edition

Výrobce Huawei překvapil fanoušky speciální edicí hodinek Huawei Watch Ultimate. Novinka s plným názvem Huawei Watch Ultimate Design Spring Edition cílí elegantním pouzdrem posázeným diamanty na...

19. května 2026  7:22,  aktualizováno  10:41

Operátor O2 má nový tarif za akční cenu. Pro někoho může být velmi zajímavý

Ilustrační snímek

Operátor O2 rozšířil svou tarifní nabídku o nový mobilní tarif. Cílí třeba na zákazníky, kteří vyřizují věci raději online a nepotřebují trávit dlouhé desítky minut na telefonní lince. Takovým...

19. května 2026  7:02

Takto zvláštně by měl vypadat nový iPhone Ultra. Je to neobvyklý formát

Huawei Pura X Max

Jak bude vypadat na podzim skládací iPhone? Značka Huawei to na domácím čínském trhu ukazuje už nyní. Jeho novinka Pura X Max je totiž praktickou ukázkou formy, kterou letos podle spekulací plánuje...

18. května 2026

Nejvíc dat teče během hokejového MS. Šéf techniky O2 o vývoji telekomunikací

Premium
Na začátku stačily ve středních Čechách tři vysílače, které najednou...

Na začátku stačily ve středních Čechách tři vysílače, které najednou odbavily až sto padesát hovorů. Víc nebylo potřeba. V současnosti má O2 takových vysílačů přes sedm tisíc a zvládají miliony...

17. května 2026

Fronty, čekání přes noc, strkanice. O nové hodinky byl enormní zájem

Davové šílenství kvůli plastovým hodinkám ovládlo planetu

Je to už vyzkoušený recept, tentokrát zabral, i když výsledný produkt je vlastně dost výstřední. O nové hodinky Swatch byl o víkendu enormní zájem. Dlouhé fronty se tvořily před firemními prodejnami...

17. května 2026  18:18

Je to jasný kandidát na nejlepší mobil roku. Test Oppo Find X9 Ultra

Oppo Find X9 Ultra

Stal se z toho trend. I čínské Oppo přineslo letos do Evropy svůj špičkový model řady, která jinak zůstávala exkluzivní jen pro některé trhy, zejména ten domácí čínský. Aktuální Find X9 Ultra patří...

17. května 2026

Je velká změna designu nejlepšího samsungu opravdu revoluční? Tady to zjistíte

Samsung Galaxy S25 Ultra a Galaxy S26 Ultra

Letošní Samsung Galaxy S26 Ultra je opět evolucí loňského modelu. Změnou však prošel jeho design, který se od tvarů předchůdce odpoutal. Přesto vlastně změna není tak výrazná, jak by se mohlo na...

16. května 2026

Tyto hodinky mají porazit Apple Watch. Laciný luxus se bude nosit jinak

Audemars Piguet × Swatch Royal POp

Švýcarská hodinářská společnost Swatch se po letech opět postarala o velké pozdvižení. Po velké vlně zájmu, kterou dříve vzedmuly její hodinky Omega × Swatch Moonswatch, teď přichází hodně netradiční...

15. května 2026

Je vám přes čtyřicet? Soutěžíme o přírodní doplněk stravy MenoVit Balance
Je vám přes čtyřicet? Soutěžíme o přírodní doplněk stravy MenoVit Balance

Období po čtyřicítce přináší řadu změn, které mohou ovlivnit fyzickou i psychickou pohodu. Dopřejte si proto přírodní podporu v čase, kdy ji vaše...

Socialistické telefony, takové jsme měli doma. Našli jsme je v muzeu

ilustrační snímek

Unikátní muzeum nabízí pohled do dávné i nedávné historie telekomunikací. Výjimečné je tím, že mnohé exponáty jsou funkční, takže si je lze vyzkoušet. Třeba jako některé telefony ze éry socialismu.

14. května 2026

Paměťová krize, kterou si budeme dlouho pamatovat. Vítězem může být Apple

Premium
Apple iPhone 17 Pro Max a iPhone 16 Pro Max

Paměťová krize jen tak neskončí. Radost přináší akcionářům některých firem, které se podílejí na výrobě pamětí. Ale běžný zákazník začíná za spotřební elektroniku platit vyšší ceny. Mobily jsou první...

14. května 2026
Nastavte si velikost písma, podle vašich preferencí.