Cvičenie 2 - Základné stavebné prvky Android aplikácie

Úvod do problematiky - cieľom druhého cvičenia je ozrejmiť si prácu so základnými stavebnými prvkami Android aplikácie.

Aktivita (Activity)

Predstavuje základný stavebný prvok Android aplikácie

Životný cyklus aktivity

Android, ako OS primárne pre chytré telefóny, zodpovedá za aktivity a všetko čo s nimi súvisí. Keďže aplikácie majú rozličné priority, môže nastať niekoľko situácií (napríklad prichádzajúci hovor), v ktorých sa vyžaduje pozastavenie aktuálne bežiacej aplikácie (napr. hry) a návrat do hlavnej ponuky, zdvihnutie hovoru, atď.

Keďže nie je vždy jasné, ako dlho daná aktivita pobeží, rozlišujeme viacero stavov v kt. sa môže nachádzať:

Prechod medzi týmito stavmi je zabezpečený 7 základnými metódami:

MetódaPopis
OnCreate()Táto metóda je volaná pri prvom spustení aktivity. V metóde sa inicializujú grafické XML súbory, premenné a objekty potrebné pre beh aplikácie. Ako parameter je odovzdaný objekt typu Bundle s uloženým predchádzajúcim stavom aktivity (ak nejaký existuje).
OnStart()V metóde onStart() aktivita prechádza do popredia a realizuje činnosti potrebné pre zobrazenie aktuálneho používateľského rozhrania. Rozdiel medzi metódami je zrejmý z diagramu: OnStart() je volaná pri každom spustení, ktoré nasleduje po predchádzajúcom zastavení / vytvorení aktivity.
OnResume()Táto metóda je volaná tesne pred tým, ako je aktivita presunutá z pozadia do popredia.
OnPause()V tejto metóde aktivita prechádza do pozadia. V metóde je vhodné ukladať zmeny údajov, s ktorými aktivita pracovala a ukončenie snímania údajov zo senzorov (GPS...), všetkých animácií a operácií náročných na CPU. Operácie realizované v metóde onPause() musia byť časovo nenáročné.
OnStop()Je volaná pri zastavení aktivity. Aktivita je stále v pamäti a používateľ ju môže kedykoľvek presunúť do popredia.
OnRestart()Ako vyplýva z diagramu, po zavolaní metódy onStop() je pri opätovnom presune aktivity do popredia volaná metóda onRestart() pred onStart().
OnDestroy()Metóda je volaná pri ukončení životnotného cyklu aktivity.

Trieda Toast

Na vytvorenie Toastu je volaná metóda makeText(), ktorá má 3 parametre:

Úloha 2.1

Vytvorte volanie triedy Toast v každej metóde životného cyklu aktivity a vyskúšajte jednotlivé výpisy pri spustení, minimalizovaní a vypnutí aplikácie.

Úloha 2.2

Vyskúšajte jednotlivé toasty pri prijatí hovoru a sms správy v emulátore. (/.../Phone)

Používateľské rozhranie

Pre jednoduchú interakciu s používateľom pridáme <Button>

Interakcia s prvkami používateľského rozhrania

Po kliknutí na tlačidlo poznáme viacero spôsobov interakcie s kódom, jeden z nich môže vyzerať napríklad takto:

android:onClick="pressAction"
public void pressAction(View view){}
TextView label = (TextView) findViewById(R.id.label);

Úloha 2.3

Vytvorte členskú premennú typu boolean, ktorá bude meniť 2 alternatívne texty v <TextView> prostreníctvom metódy pressAction()

Intent (Zámer)

Implicitné intenty

Úloha 2.4

Vytvorte novú aktivitu s názvom SecondActivity prostredníctvom File->New->Activity->Empty Views Activity

Explicitné intenty

Úloha 2.5

Vyskúšajte prenos rôznych dátových typov medzi 2 aktivitami (boolean, int, float, string) a vypíšte jednotlivé výsledky prostredníctvom triedy Toast.




© 2023 Tomáš Adam