C# týden Slevový týden - Březen
Využij náš slevový týden a získej až 30 % bodů navíc zdarma! Zároveň také probíhá C# týden se slevou na e-learning až 80 %
Hledáme fulltime programátora do ITnetwork týmu -100% homeoffice, 100% časově flexibilní #bezdeadlinu Mám zájem!

Lekce 2 - Android programování - Vývojové prostředí

V minulé lekci, Android programování - Úvod do Android programování, jsme si udělali úvod do platformy Android.

V dnešním tutoriálu našeho kurzu si ukážeme, jak nainstalovat vývojové prostředí a alespoň částečně si popíšeme GUI Android Studia.

Pokud chceme programovat pro Android, máme k dispozici mnoho vývojových prostředí: Eclipse, NetBeans, Intellij IDEA a Android Studio. V dnešní době je ovšem již jediné rozumné IDE Android Studio.

Instalace Android Studia

Android Studio (dále jen AS) stáhneme zde: https://developer.android.com/…/studio.html

Software Development Kit

Software development kit

Klikneme na označený obrázek a stáhneme z adresáře Tools Android SDK Tools, Android SDK Build-tools podle našeho výběru a Android SDK Platforms-tools. Dále vybereme verzi Androidu, na které chceme aplikace vyvíjet a testovat a vše potvrdíme. Dále bychom měli stáhnout Android Support Repository a Android Support Library, pokud budeme chtít testovat aplikace na zařízení jako je Nexus x, doporučuji stáhnout i Google USB Driver. Není na škodu stáhnout vše, ovšem jedná se o balíček poměrně obrovských rozměrů.

Emulátor

Android Studio má v sobě zabudovaný velmi vyspělý emulátor, který velice věrohodně dokáže nahradit fyzické zařízení. Dříve se používal například Genymotion, ale dnes je již zbytečný.

GUI Android Studia

Struktura projektu

Nyní se podíváme na důležité položky ve struktuře našeho projektu. Na obrázku je vidět struktura, na které je nastaveno "Project". Pokud nám stačí zjednodušená verze, nad strukturou přepneme do "Android".

Rozbalená struktura Android aplikace

Složka app/ se dále větví na:

  • build/ - pokaždé, když naši aplikaci spustíme, Android Studio si samo do této složky uloží potřebné předkompilované části kódů. Nás tedy tato složka nemusí vůbec zajímat.
  • libs/ - sem se ukládají knihovny naší aplikace, pokud bychom chtěli přidat nějakou funkčnost našemu projektu.
  • src/ - zde nás zajímá main/.

Složka main/ se dále větví na java/ a res/.

  • java/ - Java kód pro naše activity.
  • res - resources, v této složce se nachází obrázky ve složkách:
  • drawable-hdpi/
  • drawable-mdpi/
  • drawable-xhdpi/
  • drawable-xxhdpi/

Defaultní složky pro obrázky jsou seřazeny podle kvality vzestupně. Pokud bude daný obrázek pro zařízení s fullHD displejem, použijeme nejkvalitnější složku xxhdpi/. Naopak pokud to bude obrázek na zařízení například s 480x320, zvolíme nejméně kvalitní složku hdpi/.

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

V případě jednodušších aplikací doporučuji přidat složku drawable/, tato složka nahradí všechny drawable-xxxx/ složky.

  • Layout/ - zde se nachází XML soubory, ve kterých definujeme, jak se má co vykreslit.
  • values/ - zde se nachází proměnné naší aplikace, týkající se textů popř. barev atd.

V nově vytvořené aplikaci, tzv. Hello world aplikaci, se nachází v souboru: activity_jméno_activity.xml tento řádek:

android:text="@string/hello_world"
  • @string - nás odkazuje na strings.xml
  • hello_world - jméno stringu, jehož hodnotu si aplikace vytáhne z proměnné uložené v souboru strings.xml. Pokud se podíváme do tohoto souboru, najdeme zde řádek:
<string name="hello_world">Hello world!</string>

hodnota je tedy "Hello world!";

Tento systém je při programování mobilních aplikací velmi důležitý. Toto pravidlo známe i z programování pro klasické počítače.

Jde o to, abychom měli jednu proměnnou a tu volali například 100x. Pokud totiž dojde ke změně hodnoty, stačí ji přepsat na jednom místě. Kdyby to bylo obráceně, museli bychom 100x přepsat text.

Další výhoda, která nám jakožto vývojářům aplikací hraje do karet, je snadné vytvoření vícejazyčné aplikace.

Stačí přidat složku values-cs/ a do ní překopírovat strings.xml a přepsat jednotlivé názvy. Aplikace při spuštění na zařízení, které je v CZ jazyce, potom bude tahat hodnoty pro jednotlivé stringy z právě nově vytvořeného souboru.

  • Manifest

Na konec jsem si nechal nejdůležitější soubor v každé struktuře aplikace a to Manifest.

AndroidManifest.xml

Manifest se musí nacházet v kořenovém adresáři každé aplikace. Obsahuje informace o naší aplikaci, které předá Androidu předtím, než se spustí kód aplikace.

Nachází se zde jednotlivé activity a jejich nastavení, definují se zde práva aplikace a její nastavení jako je ikona atd.

Android DDMS

Dalvik Debug Monitor Service

Dalvik Debug Monitor Service je GUI aplikace, kterou najdeme ve spodní části Android studia (je součástí SDK).

Vede podrobné výpisy o všem, co jako vývojáři potřebujeme.

Debugging a boj s errory

Pokud se něco pokazí, najdeme podrobný výpis v záložce Android. Můžeme zde nastavovat spousty filtrů, například jaké activity chceme vypsat, z jaké aplikace, jaký typ hlášek vypsat atd. Pomocí tohoto nástroje je snadné najít, co přesně se pokazilo.

TODO

Pokud do naší aplikace někam přidáme komentář

"//TODO Nějaký text"

tak můžeme velmi jednoduše vypsat seznam všech TODO a to tak, že klikneme na: View -> Tool windows -> TODO Používat tuto funkci doporučuji, zejména u větších projektů.

Debugging

V Android Studiu je poměrně jednoduchý postup debuggingu. Pokud se stane, že dojde k pádu aplikace, nejdříve se podíváme do Android DDMS záložka Android a projdeme si log. Zjistíme na jakém řádku je chyba. AS (alespoň v současné verzi) nemá automaticky zobrazená čísla řádků. Zobrazíme je pravým kliknutím na prostor na levé straně od okna, kam píšeme kód.

Zobrazení čísel řádků v Android Studio

Ne vždy ale chybu hned vidíme. Můžeme si nastavit debug point na řádcích podle potřeby. (Kliknutím vedle čísla řádku) Potom můžeme spustit aplikaci v debug módu (Shift + F9 nebo klik na "zeleného broučka" v horním panelu).

Aplikace se zastaví v bodě, kam jsme umístili debug point a automaticky nás přesune v DDMS do Debugger módu. Zde vidíme přehled o všech proměnných a můžeme přeskočit k dalšímu debug pointu pomocí zelené šipky na levé straně.

Debug mód v Android Studio

Samozřejmě, že pro správný debugging musíme mít zapnuté emulované zařízení s Androidem přímo na PC, popř. musíme mít připojen mobil s Androidem a nastaveným ladění přes USB, viz následující kapitoly.

V příští lekci, Android programování - Životní cyklus a nový projekt, se podíváme na životní cyklus Android aplikací.


 

 

Článek pro vás napsal Jiří Frank
Avatar
Jak se ti líbí článek?
18 hlasů
Autor se věnuje programování v C# a vývoji aplikací pro platformu Android a dalším věcem spojeným s Android OS
Předchozí článek
Android programování - Úvod do Android programování
Všechny články v sekci
Základy vývoje Android aplikací v Javě
Miniatura
Následující článek
Android programování - Životní cyklus a nový projekt
Aktivity (5)

 

 

Komentáře
Zobrazit starší komentáře (8)

Avatar
Jakub Nociar
Člen
Avatar
Jakub Nociar:22.2.2016 10:26

Jenze kdyz vyberu pouze slozku, kde se soubor nachazi, tak mi to vyhodi chybu, ze to nechce nsjit java.exe..

 
Odpovědět
22.2.2016 10:26
Avatar
filiptartott
Člen
Avatar
filiptartott:24.4.2016 17:53

Sorry neviem si rady, nejak to SDK neviem nájsť na tom linku ktorý tam je napísaný,

 
Odpovědět
24.4.2016 17:53
Avatar
Jiří Frank
Redaktor
Avatar
Odpovídá na filiptartott
Jiří Frank:24.5.2016 13:47

Nějakou dobu jsem z časových důvodů na AS nesáhl, novinky sleduji jen tak co se ke mě náhodou dostane, ovšem pokud se nepletu, tak v současné verzi SDK zvlášť stáhnout nejde.
Stačí stáhnou AS a pokud by v něm být neměli tak co bude třeba to dostahuješ přes manager v AS.

 
Odpovědět
24.5.2016 13:47
Avatar
Odpovídá na Jiří Frank
Neaktivní uživatel:24.5.2016 13:55

Ale jde: https://developer.android.com/…o/index.html#… a úplně dole Get just the command line tools

Odpovědět
24.5.2016 13:55
Neaktivní uživatelský účet
Avatar
Erik Báča
Člen
Avatar
Erik Báča:14.9.2016 22:18

jak mám z těch stránek stáhnout ten emulátor? Vypadá to,že je to placené :/

Odpovědět
14.9.2016 22:18
Když mi dáš mínus, napiš proč!
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Štechmüller
Překladatel
Avatar
Odpovídá na Erik Báča
Petr Štechmüller:15.9.2016 7:32

Ahoj, na genynotion se vykašli a použij to, co nabízí přímo android studio. Od poslední verze ten emulátor výrazně zlepšili a zrychlili.

Odpovědět
15.9.2016 7:32
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Jiří Frank
Redaktor
Avatar
Jiří Frank:15.9.2016 11:46

Ahoj Eriku, v dnešní době je opravdu asi zbytečné stahovat genymotion, plně ti postačí emulátor v AS jako takový. Emulátor v AS jsem nedávno zkoušel a opravdu šlape rychleji.

Tak či tak se tento akademický rok vrátím k androidu a tak bych rád konečně překopal tento seriál, uvedl pár nejasností na pravou míru a přepsal "neaktuální" obsah, neboť jak je vidět, vývoj se v tomto odvětví mění takřka raketovým tempem.

 
Odpovědět
15.9.2016 11:46
Avatar
MICHAL ZAJAC
Člen
Avatar
MICHAL ZAJAC:14.1.2019 22:40

Caute, prosim vas vie mi niekto poslat link na stranku s popisom ako rozbehať Android Studio? Lebo podla tohto navodu to už nejde. Neviem čo robit, čo stiahnut.

 
Odpovědět
14.1.2019 22:40
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na MICHAL ZAJAC
David Čápka:15.5.2019 13:21

Ahoj, s čím konkrétně máš problém?

Odpovědět
15.5.2019 13:21
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Robert Michalovič:19. února 21:04

Ahojte měl bych taky k Androidu pár dotazů. Naposledy jsem si s ním hrál dle svých návodů v éře Java6 což byl Android2.

  1. Používáte někdo ještě Eclipse s ADT pluginem? Podle toho co jsem četl je jeho vývoj zastaven od roku 2015. Nicméně jsem si ho na Eclipse 19-03 stáhl a vypadá docela funkční.
  2. Jakou verzi Javy používáte ? Podle toho co jsem četl je plně podporovaná pouze Java7.
  3. Zkusil jste někdo např. Java10,11,12,13 u vývoje?
 
Odpovědět
19. února 21:04
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 18. Zobrazit vše