Kaj so dejavnosti Android in kakšen je njihov življenjski cikel? - Tehnologija
Preskoči na vsebino

Kaj so dejavnosti Android in kakšen je njihov življenjski cikel?

Eden glavnih konceptov pri razvoju mobilnih aplikacij je koncept Activity, ti so osnova aplikacije, tokrat bomo videli, iz česa so sestavljeni in kakšen je njihov življenjski cikel.

Oglasi


Na uradni strani za razvijalce za Android najdemo podrobnejšo razlago, kaj aktivnosti predstavljajo (https://developer.android.com/guide/components/activities/intro-activities) tukaj bomo videli splošno o njih in njihovem življenjskem ciklu.


Videli smo že, da je aplikacija za Android sestavljena iz različnih grafičnih komponent ali pogledov, poleg tega pa imajo strukturo imenikov, ki omogoča, da je grafični vmesnik neodvisen od logike aplikacije, zasloni pa se upravljajo prek datotek xml, ki vsebujejo postavitve ali upravitelji vsebine in logika se obdeluje v dejavnostih, ki ustrezajo razredu dejavnosti, obstaja tudi drug koncept, imenovan fragmenti, ki živi znotraj dejavnosti, vendar je to nekaj, s čimer se bomo ukvarjali kasneje.


Razred dejavnosti je ena glavnih komponent aplikacije. Prav oni so osnova za gradnjo aplikacij, saj upravljajo sistemsko logiko in s čim bo uporabnik komuniciral. Aplikacija Android se začne s primerkom dejavnosti, ki ima definiran življenjski cikel, da aplikacija deluje.


Preden se potopite v življenjski cikel, je zelo pomembno pojasniti, da se delovanje mobilne aplikacije razlikuje od delovanja drugih aplikacij, mobilna aplikacija nima določenega izhodišča, za razliko od namiznih aplikacij, ki se začnejo prek glavnega ( ) lahko aplikacijo zaženete s katerega koli zaslona (to ne pomeni, da ne moremo dati začetnega vrstnega reda).


Interno, ko zamenjamo zaslone, se izvede klic med aktivnostmi (ali se fragmenti zamenjajo v isti dejavnosti) in ko na enak način preklapljamo med aplikacijami, se aplikacija prikliče s klicem njene začetne dejavnosti.


Aplikacija je običajno sestavljena iz več zaslonov, kar je enakovredno več dejavnostim, ki komunicirajo med seboj, čeprav je bilo že omenjeno, da je aplikacijo mogoče zagnati iz katere koli dejavnosti, je aktivnost vedno definirana kot glavna dejavnost MainActivity ( čeprav ne mora nujno biti prvi prikazan) in od tam označite začetno točko za navigacijo po sistemu s klicanjem novih dejavnosti ali fragmentov.

Datoteka manifesta (AndroidManifest.xml)


V prejšnjem vnosu smo govorili o datoteki manifesta, to je konfiguracijska datoteka, ki vam omogoča parametriranje glavnih elementov aplikacije, tukaj boste našli informacije, kot so ID aplikacije, ime, ikona, dejavnosti, ki jih vsebuje, dovoljenja, med drugimi pomembnimi elementi.



Ko je aktivnost ustvarjena, androidStudio samodejno poskrbi za njeno parametriranje v datoteki AndroidManifest.xml, nato pa lahko dodate tudi filtre ali lastnosti, da določite dodatna dejanja aplikacije, na primer na prejšnji sliki lahko vidite, da je MainActivity glavni sistem dejavnosti (tisti, ki je prikazan prvi) od se ji doda z lastnostjo <action android:name="android.intent.action.MAIN" />

Življenjski cikel dejavnosti.


Aktivnost gre med svojim izvajanjem skozi več stanj, ta stanja se pojavijo skozi interakcijo uporabnika z dejavnostjo, na primer ko vstopi, zapusti, znova vstopi ali ko je zaprta, android nam omogoča, da nadzorujemo vsako od teh stanj prek niza definirane metode, ki jih lahko implementiramo za upravljanje vedenja, na primer lahko začasno ustavite predvajalnik videa, ko spremenite zaslon ali prekličete postopke povezovanja, ko zapustite aplikacijo, na strani za razvijalce za Android najdemo podrobnosti o teh metodah (tam lahko najdemo tudi naslednji diagram, ki prikazuje, kako deluje:


Oglejmo si povzetek vsakega od stanj:


  • onCreate()

    Ta metoda je privzeto ustvarjena v dejavnosti in se aktivira, ko se začne sklicevati na postavitev, ki ustreza grafičnemu delu prek metode setContentView(), to je prva metoda, ki se izvede.

  • onStart()

    Ko je onCreate() zaprt, dejavnost spremeni svoje stanje iz ustvarjene v začeto in je predstavljena uporabniku, tu postaneta pogled in dejavnost interaktivna.

  • V kratkem()

    Po začetku aktivnosti se spremeni stanje onResume(), ki je odgovorno za obdelavo informacij o interakciji uporabnika, tukaj se prepozna in zajame vse, kar uporabnik vnese.

  • onPause()

    Če dejavnost izgubi fokus in je prekinjena, se pokliče stanje premora, na primer, ko uporabnik pritisne gumb za nazaj ali spremeni zaslon, to pomeni, da je dejavnost še vedno delno vidna, medtem ko se dejavnost zapira.

    Iz tega stanja se lahko znova vrnete na onResume() ali onStop()

  • onStop()

    To stanje se začne, ko dejavnost ni več vidna uporabniku, morda zato, ker je bila dejavnost izbrisana, se tista, ki je bila ustavljena, ponovno aktivira ali ker se začenja nova, v tem primeru ustavljena dejavnost ni več vidna uporabnika. uporabnik, od tu lahko pokličete onRestart() ali onDestroy()

  • onRestart()

    Sistem vstopi v to stanje, ko se namerava ustavljena aktivnost znova zagnati, tukaj se stanje dejavnosti obnovi od trenutka, ko je bila ustavljena in je izveden klic onStart().

  • onDestroy()

    Nazadnje sistem pokliče to metodo pred brisanjem dejavnosti, to je zadnje stanje, skozi katerega gre dejavnost in se izvaja, ko je treba zagotoviti zaprtje ali sprostitev vseh virov dejavnosti.


Te metode je mogoče implementirati v projekt na naslednji način:


Tako bomo ob zagonu aplikacije videli vedenje v logcatu.

In to je to, s tem vidimo, iz česa so sestavljene dejavnosti in kako lahko nadziramo življenjski cikel, nato pa lahko nadaljujemo z delom na osnovni aplikaciji.

Morda vas bo tudi zanimalo.




Ali želite kaj dodati ali komentirati o tem vnosu? lahko storite ....In če vam je bilo všeč ... Vabim vas k deljenju Y Naročite se s klikom na gumb »Pridružite se temu spletnemu mestu«, če želite slišati več objav, kot je ta 😉