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.
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
onResumemaar vergeten deze inonPausete pauzeren — de batterij loopt leeg - Een sensoreventlistener registreren in
onCreatemaar deze niet afmelden inonDestroy— 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.
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
- Projectstructuur en manifest
- Activities en levenscyclus
- Layouts en views
- Gebruikersinvoer afhandelen
- Intents en navigatie
- Fragments
- Machtigingen en runtimeverzoeken