IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

3. diel - Android programovanie - Životný cyklus a nový projekt

V minulej lekcii, Android programovanie - Vývojové prostredie , sme sa venovali vývojovým nástrojom. V dnešnom Android Java tutoriálu nášho kurzu si ukážeme, ako vytvoriť projekt a vysvetlíme si, čo je to aktivita a jej životný cyklus a čo je to API.

Pri vytváraní nového projektu si musíme dávať pozor na vhodné zvolenie API, v neskoršej fáze ho síce zmeniť môžeme, ale je lepšie predísť zbytočným komplikáciám.

Activity

Aktivitu si môžeme predstaviť ako základný komponent pre vykreslenie našej aplikácie. Uvediem príklad. Zapneme aplikáciu, zobrazí sa úvodná animácia. To je prvá aktivita. Potom sa zobrazí menu aplikácie s možnosťami "Kalkulačka", "Poznámky" a "Editor", toto bude druhá aktivita. Po kliknutí na jednotlivé ponuky v menu nás aplikácie presmeruje do tretej, štvrtej alebo piatej aktivity.

Z našej aplikácie môžeme pristupovať k aktivitám z iných aplikácií. Napríklad nemusíme vytvárať vlastné aktivitu pre volanie ako také.

Životný cyklus aktivity

Android, ako OS primárne pre chytré telefóny, sám zodpovedá za aktivity a všetko čo s nimi súvisí. Je jasné, že majiteľ telefónu radšej odpovie na prichádzajúci hovor alebo SMS, než aby sa hral s aplikáciou. Môže nastať niekoľko situácií, ako napríklad prichádzajúci hovor, pozastavenie aplikácie užívateľom (keď sa vráti do hlavnej ponuky) atď.

Z toho vyplýva, že nie je vždy jasné, ako dlho aktivita pobeží, a preto existujú rôzne metódy, ktoré sa volajú v rôznych situáciách. Pozrite sa na nasledujúcu schému.

Životný cyklus Android aktivity - Programovanie Android aplikácií v Jave

Stav activity

Každá aktivita sa nachádza súčasne len v jednom z nasledujúcich stavov.

  1. Beží - Aktivita sa úspešne spustila a beží na popredí, je teda pre užívateľov viditeľná.
  2. Pauza - Aktivita ide vidieť, je ale napríklad prekrytá inou aktivitou. (Upozornenie na prichádzajúci SMS, hovor, alebo napríklad dialóg o plnom nabití batérie pri nabíjaní). Užívateľ sa k takejto aktivite nijako nedostane, nemôže s ňou pracovať.
  3. Zastavená - Aktivita nie je vidieť, používateľ k nej nemá prístup, ale jej objekt ešte nebol úplne zničený. Užívateľ sa k nej bude môcť vrátiť, ak nebude zničená, napríklad nedostatkom pamäte.
  4. Ukončená - Aktivita je úplne mŕtva.

Metódy Lifecycle

OnCreate ()

Pri spustení aktivity sa Android postará o základné veci ako vytvorenie objektu a spustenie procesu. Ďalej zavolá metódu onCreate(). V nej nadefinujeme všetko potrebné, aby sa aktivita mohla rozbehnúť, napríklad aké grafické rozhranie sa nám má zobraziť, ako sa dané grafické rozhranie bude zobrazovať (či má byť zobrazený app bar atď.), Či sa majú vytvoriť globálne premenné, alebo či budeme globálne pristupovať k objektu TextView atď.

Android štúdiom vygenerovaný kód vyzerá nasledovne:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_JmenoActivity);
}

Aktivita v metóde onCreate() nastaví layout pre svoj vzhľad (GUI) riadkom:

setContentView(R.layout.activity_JmenoActivity);

Odkazuje teda na layout activity_Jmeno­Activity, ktorý je v zložke res/layout/.

R poukazuje na automaticky vygenerovaný kód R.java, kde sú uložené zdroje (resources).

OnStart ()

Volá sa, ak aktivita bola prvýkrát spustená (po onCreate()) alebo bola aktivovaná po svojom skrytie (prichádzajúce SMS, systémový dialóg napríklad o nabitie batérie alebo iný dialóg iné aktivity), nemôže dostať užívateľský vstup.

OnResume ()

Volá sa tesne pred tým, než je aktivita posunutá do popredia (reštart, prvé spustenie alebo odpauzování), môže dostať užívateľský vstup.

OnPause ()

Volá sa pred prechodom aktivity na pozadí. Systém dostáva právomoc násilného ukončenia aktivity.

OnStop ()

Volá sa, keď sa má aktivita zastaviť, nie je viditeľná pre používateľov.

OnDestroy ()

Volá sa pred zrušením aktivity.

OnRestart ()

Ako vyplýva z predchádzajúceho diagramu, ak bola zavolaná onStop() a aktivita sa reštartuje, volá sa onRestart(), ktorý sa vykoná pred onStart().

Pri programovaní nie je vždy nutné brať zreteľ na všetky spomínané metódy. Niekedy je skrátka nie je potrebné použiť. Jedinou podmienkou je použitie metódy onCreate().

Vytvorenie projektu

Vyberieme File -> New project, vyskočí okno "Create New Project":

Nový Android projekt - Programovanie Android aplikácií v Jave
  • Application name - tu zadáme meno našej aplikácie
  • Company Domain - toto je originálna ID každej aplikácie. Nikdy sa nesmie sa žiadnou inou zhodovať.

V ďalšom okne je potrebné vybrať typ zariadenia a API:

Výber typu zariadenia a API - Programovanie Android aplikácií v Jave
Zaškrtneme Phone and Tablet a vyberieme API. Po výbere API si môžeme všimnúť, že nám Android Studio vypísalo koľko% súčasných zariadení bude schopné našu aplikáciu spustiť.

Čo je to API?

API určuje aké triedy a funkcionalitu môžeme pri tvorbe našej aplikácie použiť. Ak zvolíme API napríklad verzie 15, aplikácia pobeží na všetkých telefónoch s API 21 až 28 (čo je teraz posledná verzia, ktorá sa stále zvyšuje), avšak používateľ s API 14 aplikáciu nezapne.

Všeobecne platí, že čím vyššia API použijeme, tým viac máme pri programovaní možností. Nielen, že budeme môcť využiť u vyššieho API napríklad nejaké pokročilé animácie, ale tiež si programovanie uľahčíme. Napríklad u nízkeho API musíme riešiť zákaz zmeny orientácie alebo možnosť uspávanie aktivity priamo v Java kódu, čo je značne zložitejšie oproti riešenie rovnakého problému vo vyššom API, kde stačí napríklad len jeden riadok v XML kódu.

V prípade našej prvej aplikácie nám stačí nízke API. Ak zvolíme API 10 (Android 2.3.3) tak naše aplikácie pôjde takmer všetkým. Z toho vyplýva, že čím menšie API zvolíme, tým viac užívateľov bude môcť aplikáciu používať. Google ale vývojárov núti podporovať určité API pri pridanie novej aplikácie a toto číslo sa stále zvyšuje (Pre rok 2019 je to API 28), takže nemôžeme zas voliť úplne nízke čísla. Ak by sme vyvíjali napríklad nejakú zložitejšie hru, alebo aplikáciu, ktorá potrebuje rôzne zložité animácie atď., Je lepšie zvoliť vyššiu API kvôli viac funkciám.

Záver

Teraz by sme mali chápať základné informácie o vytvorení nového projektu, API, aktivít a ich životných cykloch.

V budúcej lekcii, Android programovanie - Prvá aplikácia, návrh kalkulačky , si vytvoríme svoju prvú Android aplikáciu! :)


 

Predchádzajúci článok
Android programovanie - Vývojové prostredie
Všetky články v sekcii
Programovanie Android aplikácií v Jave
Preskočiť článok
(neodporúčame)
Android programovanie - Prvá aplikácia, návrh kalkulačky
Článok pre vás napísal Jiří Frank
Avatar
Užívateľské hodnotenie:
3 hlasov
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
Aktivity