Hvad er Android-aktiviteter, og hvad er deres livscyklus? - Teknologi
Gå til indhold

Hvad er Android-aktiviteter, og hvad er deres livscyklus?

Et af hovedbegreberne i udviklingen af mobile applikationer er begrebet Activity, disse er grundlaget for applikationen, denne gang vil vi se, hvad de består af, og hvad deres livscyklus er.

Annoncer


På den officielle Android-udviklerside kan vi finde en mere detaljeret forklaring på, hvad aktiviteterne repræsenterer (https://developer.android.com/guide/components/activities/intro-activities) her vil vi se en generalitet om dem og deres livscyklus.


Vi har allerede set, at en Android-applikation er opbygget af forskellige grafiske komponenter eller visninger, og derudover har de en mappestruktur, der tillader den grafiske grænseflade at være uafhængig af applikationslogikken, skærmbillederne styres gennem de xml-filer, der indeholder layouterne eller indholdsadministratorerne og logikken arbejdes der med i de Aktiviteter, der svarer til Aktivitetsklassen, der er også et andet begreb kaldet fragmenter, der bor inde i aktiviteterne, men det er noget vi skal beskæftige os med senere.


Aktivitetsklassen er en af hovedkomponenterne i en applikation. De er netop grundlaget for at bygge apps, da de styrer systemlogikken, og hvad brugeren vil interagere med. En Android-applikation starter med en forekomst af en aktivitet, der har en defineret livscyklus for at holde applikationen kørende.


Før du dykker ned i livscyklussen, er det meget vigtigt at gøre det klart, at en mobilapplikations funktion adskiller sig fra funktionen af andre applikationer, en mobilapplikation har ikke et specifikt udgangspunkt, i modsætning til en desktopapplikation, der starter gennem en hoved( )-metoden, kan en applikation startes fra enhver af dens skærme (dette betyder ikke, at vi ikke kan give en startordre).


Internt, når vi skifter skærm, er det, der gøres, et kald mellem aktiviteter (eller fragmenter erstattes i den samme aktivitet), og når vi skifter mellem applikationer på samme måde, aktiveres applikationen ved at kalde dens oprindelige aktivitet.


En applikation er normalt opbygget af flere skærme, hvilket svarer til at have flere aktiviteter, der kommunikerer med hinanden, selvom det allerede er nævnt, at applikationen kan startes fra enhver aktivitet, er en aktivitet altid defineret som hovedaktiviteten MainActivity ( selvom det ikke nødvendigvis skal være den første, der vises) og derfra markere udgangspunktet for at navigere i systemet ved at kalde nye aktiviteter eller fragmenter.

Manifestfil (AndroidManifest.xml)


I et tidligere indlæg talte vi om manifestfilen, dette er en konfigurationsfil, der giver dig mulighed for at parametrere applikationens hovedelementer, her finder du information såsom applikations-id, navnet, ikonet, de aktiviteter, den indeholder, tilladelserne, blandt andre vigtige ting.



Når en aktivitet er oprettet, sørger androidStudio automatisk for at parametrere den i AndroidManifest.xml-filen, og så kan du også tilføje filtre eller egenskaber for at bestemme yderligere handlinger af applikationen, for eksempel i det forrige billede kan du se, at MainActivity er aktivitetssystem hoved (den der vises først) siden er tilføjet det med ejendommen <action android:name="android.intent.action.MAIN" />

Aktivitets livscyklus.


En aktivitet gennemgår flere tilstande under dens udførelse, disse tilstande opstår gennem brugerens interaktion med aktiviteten, for eksempel når den går ind, forlader, går ind igen eller når den lukkes, giver android os mulighed for at kontrollere hver af disse tilstande gennem en række af definerede metoder, som vi kan implementere til at styre adfærd, for eksempel kan du sætte en videoafspiller på pause, når du skifter skærm eller annullere forbindelsesprocesser, når du afslutter applikationen, på Android-udviklersiden finder vi detaljerne i disse metoder (der kan vi også finde følgende diagram, der viser, hvordan det fungerer:


Lad os se en oversigt over hver af staterne:


  • onCreate()

    Denne metode oprettes som standard i aktiviteten og aktiveres når den begynder at referere til layoutet svarende til den grafiske del gennem setContentView() metoden, dette er den første metode der udføres.

  • onStart()

    Når onCreate() lukkes, ændrer aktiviteten sin tilstand fra oprettet til startet og præsenteres for brugeren, det er her visningen og aktiviteten bliver interaktiv.

  • Kort sagt()

    Efter aktiviteten starter ændres onResume() tilstanden, som er ansvarlig for at behandle brugerinteraktionsinformation, her genkendes og fanges alt hvad brugeren indtaster.

  • onPause()

    Hvis Aktiviteten mister fokus og afbrydes, kaldes Pause-tilstanden, for eksempel når brugeren trykker på tilbage-knappen eller skifter skærm, betyder det, at aktiviteten stadig er delvist synlig, mens aktiviteten lukkes.

    Fra denne tilstand kan du vende tilbage igen til onResume() eller onStop()

  • onStop()

    Denne tilstand begynder, når aktiviteten ikke længere er synlig for brugeren, det kan skyldes, at aktiviteten er blevet slettet, en, der blev stoppet, genaktiveres, eller fordi en ny starter, i dette tilfælde er den stoppede aktivitet ikke længere synlig for brugeren. brugeren, herfra kan du kalde onRestart() eller onDestroy()

  • onRestart()

    Systemet går i denne tilstand, når en stoppet aktivitet skal startes igen, her genoprettes aktivitetens tilstand fra det øjeblik, den blev stoppet, og opkaldet til onStart() foretages.

  • onDestroy()

    Til sidst kalder systemet denne metode før sletning af aktiviteten, dette er den sidste tilstand aktiviteten går igennem og implementeres når lukning eller frigivelse af alle ressourcer af en aktivitet skal garanteres.


Disse metoder kan implementeres i projektet som følger:


Så når vi starter applikationen, vil vi se adfærden i logcat.

Og det er det, med dette ser vi, hvad aktiviteterne består af, og hvordan vi kan styre livscyklussen, så kan vi arbejde videre med basisapplikationen.

Det kan også interessere dig.




Er der noget, du vil tilføje eller kommentere om dette indlæg? gør gerne....Og hvis du kunne lide det... Jeg inviterer dig til at dele y Tilmeld dig ved at klikke på knappen "Tilmeld dig dette websted" for at høre flere indlæg som dette 😉