Android Academy · Les

Activities en levenscyclus

Leer wat een Activity is, krijg inzicht in de callbacks van de Activity-levenscyclus (onCreate, onStart, onResume, onPause, onStop, onDestroy) en gebruik ViewBinding.

Les 2 van 711 stappen

Activities en levenscyclus is een gratis Android Academy-les op CoddyKit. Dit is les 2 van 7. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Android Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Android Academy bevat in totaal 7 lessen.

Wat is een Activity?

Een Activity is één scherm in je Android-app.

  • Elk scherm (inloggen, startpagina, instellingen) is een Activity
  • De Activity beheert een indeling (XML) en gebruikersinteracties
  • De Activity wordt gedeclareerd in AndroidManifest.xml

Zie het als het Android-equivalent van een webpagina — elke pagina is een Activity.

Levenscyclus van een Activity

Een Activity doorloopt een reeks levenscyclusstatussen terwijl je door de app navigeert:

  • Aangemaakt → Gestart → Hervat (zichtbaar en actief)
  • Gepauzeerd (gedeeltelijk verborgen)
  • Gestopt (volledig verborgen)
  • Vernietigd (Activity bestaat niet meer)

Je overschrijft levenscyclusmethoden om op deze overgangen te reageren.

Levenscyclus-callbacks

De zes belangrijkste levenscyclus-callbacks:

  • onCreate() — de Activity wordt aangemaakt. Stel hier je indeling in.
  • onStart() — de Activity wordt zichtbaar.
  • onResume() — de Activity staat op de voorgrond en de gebruiker kan ermee werken.
  • onPause() — de gebruiker verlaat de Activity. Sla tijdelijke gegevens op.
  • onStop() — de Activity is niet langer zichtbaar.
  • onDestroy() — de Activity wordt vernietigd.

Voorbeeld van MainActivity

Een minimale Activity met logging van de levenscyclus:

import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

    private val TAG = "MainActivity"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        Log.d(TAG, "onCreate")
    }

    override fun onResume() {
        super.onResume()
        Log.d(TAG, "onResume — user is here")
    }

    override fun onPause() {
        super.onPause()
        Log.d(TAG, "onPause — saving state")
    }

    override fun onDestroy() {
        super.onDestroy()
        Log.d(TAG, "onDestroy")
    }
}

Waarom de levenscyclus belangrijk is

Veelvoorkomende fouten doordat de levenscyclus wordt genegeerd:

  • Een video afspelen in onResume maar vergeten deze in onPause te pauzeren — de batterij loopt leeg
  • Een sensoreventlistener registreren in onCreate maar deze niet afmelden in onDestroy — geheugenlek
  • Formuliergegevens niet opslaan in onPause — de gebruiker verliest voortgang tijdens een telefoongesprek

Status opslaan: onSaveInstanceState

Wanneer je de telefoon draait, wordt de Activity vernietigd en opnieuw aangemaakt. De status van je gebruikersinterface gaat verloren.

Sla tijdelijke status op in onSaveInstanceState(bundle) en herstel deze in onCreate(savedInstanceState).

Status opslaan en herstellen

Bewaar gegevens tijdens configuratiewijzigingen:

class CounterActivity : AppCompatActivity() {

    private var count = 0

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_counter)

        // Restore saved state after rotation
        count = savedInstanceState?.getInt("count") ?: 0
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        outState.putInt("count", count)
    }
}

Terugstapel

Android beheert een terugstapel van Activities:

  • Een nieuwe Activity starten plaatst deze boven op de stapel
  • Op Back drukken haalt de bovenste Activity van de stapel en vernietigt deze
  • De vorige Activity wordt automatisch hervat

Daarom moet je finish() niet handmatig aanroepen, tenzij je het huidige scherm specifiek uit de terugstapel wilt verwijderen.

Configuratiewijzigingen

Elke configuratiewijziging (draaien, taal wijzigen, toetsenbord aansluiten) maakt de Activity standaard opnieuw aan.

De moderne oplossing is een ViewModel te gebruiken — dit blijft behouden bij configuratiewijzigingen en bewaart je gegevens veilig. Je leert ViewModel in de module Architectuur.

Korte controle

In welke levenscyclusmethode moet je de indeling instellen (setContentView aanroepen)?

Samenvatting: Activities en levenscyclus

Je begrijpt nu Android Activities:

  • Een Activity = één scherm in je app
  • Levenscyclus: onCreate → onStart → onResume → onPause → onStop → onDestroy
  • Sla tijdelijke status op in onSaveInstanceState
  • Door draaien wordt de Activity vernietigd en opnieuw aangemaakt
  • Android beheert automatisch een terugstapel

Volgende stap: schermen ontwerpen met indelingen en weergaven.

Gratis beginnen

Leer Kotlin met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
36
Lessen
152

Veelgestelde vragen

Is de les “Activities en levenscyclus” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Android Academy, waaronder “Activities en levenscyclus”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Android Academy bevat in totaal 7 lessen.

Wat leer ik in “Activities en levenscyclus”?

Leer wat een Activity is, krijg inzicht in de callbacks van de Activity-levenscyclus (onCreate, onStart, onResume, onPause, onStop, onDestroy) en gebruik ViewBinding. Je oefent met Android Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Android Academy te beginnen?

Ervaring vooraf is niet nodig. Android Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 7.

Hoe lang duurt de les “Activities en levenscyclus”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Android Academy?

Ja. Elke les over Android Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Projectstructuur en manifest
  2. Activities en levenscyclus
  3. Layouts en views
  4. Gebruikersinvoer afhandelen
  5. Intents en navigatie
  6. Fragments
  7. Machtigingen en runtimeverzoeken
← Terug naar Android Academy