Mikä on activity, ja miten se toimii?

Activity on yksi Android-sovelluksen peruskomponenteista, ja se edustaa tyypillisesti yksittäistä näkymää, jossa on käyttöliittymä, kuten kirjautumisnäkymää, viestiluetteloa tai asetussivua. Jokainen activity on luokka, joka periytyy Activity-luokasta tai useimmiten AppCompatActivity- tai ComponentActivity-luokasta, ja se on rekisteröitävä sovelluksen AndroidManifest.xml-tiedostoon. Kun käyttäjä avaa sovelluksen aloitusnäytöltä, järjestelmä käynnistää sovelluksen aloituspisteeksi määritetyn activityn, ja sieltä sovellus voi avata muita activityjä intentien avulla.

Activityllä on elinkaari, jota Android-järjestelmä ohjaa. Metodien, kuten onCreate(), onStart(), onResume(), onPause(), onStop() ja onDestroy(), kautta sovellukselle ilmoitetaan, kun näkymä luodaan, tulee näkyviin, menettää fokuksen tai suljetaan, jotta resurssit voidaan vapauttaa ja data tallentaa oikealla hetkellä. Monet nykyaikaiset sovellukset käyttävät vain yhtä tai muutamaa activityä ja rakentavat yksittäiset näkymät fragmenteilla tai Jetpack Composella, mutta activity on edelleen se elementti, joka yhdistää sovelluksen käyttöliittymän järjestelmään.

Activity tarkoittaa sovelluskehityksessä Android-sovelluksen yksittäistä näkymää, joka toimii käyttäjälle interaktiivisena ikkunana. Jokainen activity vastaa käyttäjän vuorovaikutuksen käsittelystä ja datan esittämisestä, minkä ansiosta kehittäjät voivat luoda dynaamisia ja mukaansatempaavia käyttökokemuksia. Activityt voivat toimia yhdessä välittämällä dataa toisilleen, mikä varmistaa saumattoman navigoinnin ja toiminnallisuuden sovelluksessa.

Lisää Activity:stä

Activity on Android-sovelluskehityksen keskeinen komponentti, joka edustaa yksittäistä näkymää, jossa on käyttöliittymä. Jokainen activity on itsenäinen yksikkö, joka käsittelee käyttäjän vuorovaikutusta ja esittää dataa, minkä ansiosta kehittäjät voivat luoda dynaamisia ja mukaansatempaavia käyttökokemuksia. Activityt ovat Android-sovellusten perusrakennuspalikoita, ja ne toimivat sisääntulopisteinä, joiden kautta käyttäjät ovat vuorovaikutuksessa sovelluksen toimintojen kanssa.

Teknisesti activity on Android SDK:n Activity-luokan aliluokka, ja se toimii käsittelemällä elinkaarimetodeja, jotka ohjaavat, miten activity luodaan, käynnistetään, pysäytetään ja tuhotaan. Kun activity käynnistetään, se käy läpi sarjan elinkaaren vaiheita, joiden avulla kehittäjät voivat hallita resursseja tehokkaasti ja reagoida käyttäjän vuorovaikutukseen. Näihin kuuluvat metodit, kuten onCreate(), onStart(), onResume(), onPause(), onStop() ja onDestroy(), joilla kullakin on roolinsa sujuvan ja reagointikykyisen käyttökokemuksen varmistamisessa.

Activityt voidaan esittää eri tavoin, joista kukin tukee erityyppistä vuorovaikutusta:

  1. Koko näyttö: Tässä activity toimii itsenäisenä näkymänä, joka käsittelee käyttäjän vuorovaikutusta ja esittää dataa. Tämä on yleisin muoto, jossa käyttäjä navigoi sovelluksen eri näkymien välillä.

  2. Valintaikkunana: Dialogiteeman avulla activity esitetään valintaikkunana, joka kelluu nykyisen näkymän päällä. Tätä käytetään joskus tärkeiden viestien näyttämiseen tai käyttäjän syötteen pyytämiseen poistumatta nykyisestä kontekstista, vaikka valintaikkunat toteutetaan useammin dialog fragmenteilla tai Composella.

  3. Immersiivinen tila: Activity ottaa näytön täysin hallintaansa ja piilottaa järjestelmäpalkit, kuten tilapalkin ja navigointipalkin, tarjotakseen immersiivisen kokemuksen. Tämä sopii erinomaisesti peleihin tai median toistoon, joissa sisältöön keskittyminen on ratkaisevaa.

Yksi activityjen suurimmista vahvuuksista on niiden kyky käsitellä monimutkaista käyttäjän vuorovaikutusta ja navigointimalleja. Androidin activity-malli tukee useita navigointimalleja, kuten back stackia, jonka avulla käyttäjät voivat navigoida takaisin aiempiin näkymiin, mikä luo intuitiivisen ja ennustettavan käyttökokemuksen. Lisäksi activityt voivat jakaa dataa ja viestiä keskenään intentien avulla, mikä mahdollistaa saumattoman integraation sovelluksen eri osien välillä.

Activityt on myös suunniteltu resurssitehokkaiksi. Androidin elinkaarimetodien avulla kehittäjät voivat optimoida resurssien kulutusta vapauttamalla tarpeettomat resurssit, kun activity ei ole näkyvissä, ja lataamalla ne uudelleen, kun se palaa etualalle. Tämä auttaa varmistamaan, että sovellukset pysyvät reagointikykyisinä ja tehokkaina myös laitteilla, joiden resurssit ovat rajalliset.

Käytännössä activityt ovat muokanneet tapaa, jolla Android-sovelluksia suunnitellaan ja kehitetään. Ne tarjoavat jäsennellyn lähestymistavan käyttäjän vuorovaikutuksen ja navigointimallien käsittelyyn, minkä ansiosta kehittäjät voivat luoda monipuolisia ja mukaansatempaavia käyttökokemuksia. Activityt ovat monien suosittujen sovellusten ytimessä, ja niitä käytetään sisällön järjestämiseen, käyttäjän syötteiden käsittelyyn ja eri toimintojen välillä navigointiin.

Yhteenvetona activityt ovat Android-kehityksen olennainen osa, joka yhdistää joustavuuden, tehokkuuden ja helppokäyttöisyyden ratkaisuksi, jonka avulla kehittäjät voivat luoda tehokkaita ja intuitiivisia sovelluksia. Niiden kyky käsitellä monimutkaisia elinkaaria ja navigointimalleja tekee niistä keskeisen työkalun nykyaikaisessa sovelluskehityksessä, jossa käyttökokemus ja tehokas resurssienhallinta ovat ratkaisevia.

Usein kysyttyjä kysymyksiä Activity:stä

Mikä on activity Androidissa?

Activity on yksi Android-sovelluksen perusrakennuspalikoista. Se edustaa tyypillisesti yksittäistä näkymää, jossa on käyttöliittymä, kuten kirjautumisnäkymää, viestiluetteloa tai asetussivua. Käyttäjä on vuorovaikutuksessa sovelluksen kanssa sen activityjen kautta.

Jokainen activity on luokka, joka periytyy Activity-luokasta tai useammin AppCompatActivity- tai ComponentActivity-luokasta, ja se on määriteltävä AndroidManifest.xml-tiedostossa. Yksi activity merkitään aloituspisteeksi, jotta järjestelmä tietää, mitä avata, kun käyttäjä napauttaa sovelluksen kuvaketta. Nykyaikaisissa sovelluksissa on usein vähän activityjä, ja eri näkymien näyttämiseen käytetään fragmentteja tai Jetpack Composea.

Miten activityn elinkaari toimii?

Activity käy läpi sarjan tiloja luomisestaan sulkemiseensa asti. Android kutsuu tiettyjä metodeja, kun tila muuttuu. onCreate kutsutaan, kun activity luodaan, ja siinä käyttöliittymä alustetaan. onStart ja onResume kutsutaan, kun se tulee näkyviin ja on valmis käytettäväksi.

Kun käyttäjä siirtyy toiseen sovellukseen tai näkymään, kutsutaan onPause ja onStop, ja kun activity suljetaan kokonaan, kutsutaan onDestroy. Sijoittamalla koodin oikeisiin metodeihin sovellus voi esimerkiksi pysäyttää videon, kun se ei ole näkyvissä, ja tallentaa datan ennen sulkemista. Virheellinen käsittely voi aiheuttaa virheitä ja tuhlata resursseja.

Miten sovellus siirtyy activityjen välillä?

Sovellus siirtyy activitystä toiseen intentin avulla. Intent kuvaa, mikä activity avataan, ja se voi sisältää dataa, kuten tuotteen tunnisteen, joka uuden näkymän tulee näyttää. Intent lähetetään startActivity-metodilla.

Uusi activity sijoitetaan back stackiksi kutsutun pinon päällimmäiseksi. Kun käyttäjä painaa takaisin, päällimmäinen activity suljetaan ja edellinen näytetään uudelleen. Jos uuden näkymän on palautettava tulos, kuten valittu kuva, käytetään Activity Result API:a. Monet nykyaikaiset sovellukset käyttävät kuitenkin yhtä activityä ja Navigation-komponenttia näkymien välillä siirtymiseen sen sisällä.

Mitä activitylle tapahtuu, kun näyttöä käännetään?

Kun käyttäjä kääntää puhelinta, konfiguraatio muuttuu, ja oletusarvoisesti Android tuhoaa nykyisen activityn ja luo sen uudelleen. Tämä mahdollistaa uuteen suuntaan sopivan eri asettelun lataamisen, mutta se tarkoittaa myös, että vain activityssä säilytetty data voi kadota.

Tämän välttämiseksi käytetään tyypillisesti ViewModelia, joka säilyy konfiguraatiomuutosten yli ja säilyttää datan, kuten ladatut listat. Pieniä tilamääriä, kuten kentän tekstin tai vierityskohdan, voidaan tallentaa onSaveInstanceStatella tai Jetpack Composessa rememberSaveablella. Sama pätee, kun kieli, teema tai näytön koko muuttuu.

Mikä on activityn ja fragmentin ero?

Activity on järjestelmän tuntema itsenäinen komponentti, joka määritellään AndroidManifest.xml-tiedostossa. Se toimii sovelluksen käyttöliittymän säiliönä, ja se voidaan käynnistää suoraan esimerkiksi ilmoituksesta tai toisesta sovelluksesta.

Fragment on pienempi, uudelleenkäytettävä käyttöliittymän osa, joka elää aina activityn sisällä. Samassa activityssä voidaan näyttää useita fragmentteja, kuten lista ja yksityiskohtanäkymä vierekkäin tabletilla. Fragmenteilla on oma elinkaarensa, joka on sidottu niitä isännöivään activityyn. Monet sovellukset käyttävät vähän activityjä ja monia fragmentteja tai Compose-näkymiä.

Mitä ovat activityn launch modet?

Launch modet määrittävät, miten uusi activity sijoitetaan suhteessa olemassa oleviin, kun se käynnistetään. Oletusarvoisesti uusi instanssi luodaan joka kerta, vaikka sama activity olisi jo auki.

singleTopilla activity käytetään uudelleen, jos se on jo pinon päällimmäisenä, sen sijaan että luotaisiin uusi. singleTaskilla on olemassa vain yksi instanssi, ja sen yläpuolella olevat activityt poistetaan, kun se avataan uudelleen. singleInstance sijoittaa activityn omaan taskiinsa, ja Android 12:sta lähtien singleInstancePerTask sallii yhden instanssin taskia kohden. Launch modet määritetään AndroidManifest.xml-tiedostossa tai intentin flageilla, ja niitä käytetään esimerkiksi kaksoiskappaleiden välttämiseen, kun sovellus avataan ilmoituksesta.

Activity for dummies

Sovelluksen activity on kuin yksittäinen näkymä matkapuhelimessa. Ajattele sitä kirjan sivuna. Kun sovellus avataan, näkyviin tulee näkymä, jossa voi tehdä jotain tiettyä, kuten lukea uutisia, lähettää viestin tai katsella valokuvia. Jokainen näistä näkymistä on ”activity”. Siirtyminen uutisten lukemisesta viestin lähettämiseen tarkoittaa siirtymistä activitystä toiseen. Se on tapa, jolla sovellukset järjestävät eri toimintoja ja tietoja niin, että niissä on helppo navigoida ja niitä on helppo käyttää.

Jätä kommentti