Klávesové zkratky na tomto webu - základní
Přeskočit hlavičku portálu


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

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ší

T-Mobile láká na jedinečné tarify na míru
T-Mobile sliboval tarify na míru. Věrným zákazníkům ale nic extra nedal

„Prodloužením smlouvy ušetříte,“ hlásá banner na webu T-Mobilu pod přehledem aktuálně nabízených tarifů. Láká jím na jedinečné tarify na míru, které si prý...  celý článek

LG Q8
Další skvěle vybavená zmenšenina má dvojitý displej a dva foťáky

LG překvapilo modelem Q6, který nabízí v poměrně kompaktním těle slušnou výbavu. Jen o pár dnů později pak jihokorejský výrobce představil model Q8. Ten tak...  celý článek

Ilustrační snímek
Někdo pašuje mobily do vězení. Vězni si fotí selfíčka na Facebook

Novozélandská vězeňská služba se snaží rozplést pro ni neobvyklý případ. Do věznice v Aucklandu totiž někdo i přes všechna obvyklá bezpečnostní opatření...  celý článek

Ikonický, jednoduchý design má podle některých informací doznat radikální...
Google mění svou ikonickou domovskou stránku. Ale jen na mobilu

Mobilní aplikace vyhledávání Googlu obsahují takzvaný „feed“ - návrhy článků, videí či zpráv, které si Google myslí, že jsou pro vás relevantní. Služba teď...  celý článek

iPhone SE
Malé iPhony končí, nové už Apple dělat nebude

iPhone SE je jeden z nejmenších smartphonů na trhu. Je to rok starý model, a proto se očekává jeho nástupce. Podle posledních informací však Apple malý model...  celý článek

Další z rubriky

Záchranná služba představila ve středu oficiální mobilní aplikaci, pomůže...
Aplikaci české záchranky používá už 330 tisíc lidí, čekají ji vylepšení

Aplikaci Záchranka, která v naléhavých případech umožňuje přivolat si pomoc přes mobil, čekají v dubnu inovace. Spustí se zdokonalené funkce pro neslyšící a...  celý článek

Aplikace Facebook Messenger Lite je dostupná i v Česku
Šetří místo i data. Dietní Messenger od Facebooku je i v Česku

Facebook Messenger je jedním z nejpoužívanějších kecálků, ale ne všechny telefony si s ním poradí. Loni se tak zrodila myšlenka na odlehčenou verzi určenou pro...  celý článek

Netradiční fotoaplikace Gudak vás donutí nad fotkami zase přemýšlet
Za 23 korun vám aplikace fotku z iPhonu ukáže až za tři dny

Vnímání fotografie se za posledních pár let výrazně změnilo. Díky záznamovým médiím již totiž nemusíme přemýšlet nad každým snímkem jako kdysi. Doby, kdy se...  celý článek

Najdete na iDNES.cz



mobilní verze
© 1999–2017 MAFRA, a. s., a dodavatelé Profimedia, Reuters, ČTK, AP. Jakékoliv užití obsahu včetně převzetí, šíření či dalšího zpřístupňování článků a fotografií je bez souhlasu MAFRA, a. s., zakázáno. Provozovatelem serveru iDNES.cz je MAFRA, a. s., se sídlem
Karla Engliše 519/11, 150 00 Praha 5, IČ: 45313351, zapsaná v obchodním rejstříku vedeném Městským soudem v Praze, oddíl B, vložka 1328. Vydavatelství MAFRA, a. s., je členem koncernu AGROFERT.