0Pricing
Android Academy · Lektion

Periodische und verkettete Arbeit

Wiederholen und verketten Sie Hintergrundaufgaben.

Periodische und verkettete Arbeit ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Android Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.

Periodische und verkettete Arbeit

Neben einmaligen Aufgaben kann WorkManager Arbeit nach einem Zeitplan wiederholen und mehrere Worker verketten, sodass sie nacheinander ausgeführt werden. Diese Lektion behandelt beide Möglichkeiten.

PeriodicWorkRequest

Verwenden Sie für wiederkehrende Arbeit PeriodicWorkRequestBuilder und geben Sie ein Wiederholungsintervall an. WorkManager führt den Worker in jedem Intervall erneut aus.

val periodic = PeriodicWorkRequestBuilder<SyncWorker>(
    repeatInterval = 1,
    repeatIntervalTimeUnit = TimeUnit.HOURS
).build()

Das Mindestintervall von 15 Minuten

Das Mindestintervall für Wiederholungen beträgt 15 Minuten. Anfragen mit einem kürzeren Intervall werden auf 15 Minuten begrenzt. Das schont den Akku; WorkManager ist nicht für sekundengenaue Zeitsteuerung vorgesehen.

Periodische Arbeit ist nicht exakt

Das Intervall ist eine Richtlinie und kein präziser Timer. Das System kann die Arbeit später ausführen, um Aufgaben zu bündeln und Energie zu sparen. Verlassen Sie sich bei zeitkritischen Aufgaben nicht darauf.

Eindeutige periodische Arbeit einreihen

Verwenden Sie enqueueUniquePeriodicWork, damit beim Starten der App nicht mehrere Kopien derselben periodischen Aufgabe angelegt werden.

WorkManager.getInstance(context).enqueueUniquePeriodicWork(
    "daily_sync",
    ExistingPeriodicWorkPolicy.KEEP,
    periodic
)

Was Verkettung bedeutet

Bei der Verkettung werden Worker in einer festgelegten Reihenfolge ausgeführt: Schritt B beginnt erst, wenn Schritt A erfolgreich war. Die Ausgabe eines Schritts wird zur Eingabe des nächsten.

beginWith und then

Starten Sie eine Kette mit beginWith und fügen Sie mit then aufeinanderfolgende Schritte hinzu. Rufen Sie enqueue auf, um die gesamte Kette zu übermitteln.

WorkManager.getInstance(context)
    .beginWith(compressRequest)
    .then(uploadRequest)
    .then(cleanupRequest)
    .enqueue()

Daten fließen durch die Kette

Die Ausgabe-Data eines Workers wird als Eingabe an den nächsten übergeben. So kann compressRequest beispielsweise einen Dateipfad zurückgeben, den uploadRequest aus seinen inputData liest.

Parallele Schritte in einer Kette

Sie können mehrere Worker parallel ausführen, indem Sie eine Liste an beginWith übergeben. Das nächste then wartet, bis alle abgeschlossen sind.

WorkManager.getInstance(context)
    .beginWith(listOf(downloadA, downloadB))
    .then(mergeRequest)
    .enqueue()

Ein Fehler stoppt die Kette

Wenn ein Worker Result.failure() zurückgibt, werden die verbleibenden Schritte der Kette abgebrochen. Ein retry() hält die Kette dagegen an, bis dieser Schritt schließlich erfolgreich abgeschlossen wird.

Mit Einschränkungen kombinieren

Jede Anfrage in einer Kette und jede periodische Anfrage kann eigene Einschränkungen enthalten. So kann beispielsweise nur der Upload-Schritt ein nicht getaktetes Netzwerk erfordern, während die Komprimierung jederzeit ausgeführt werden kann.

Kurzer Test

Testen Sie Ihr Verständnis von periodischer und verketteter Arbeit.

Zusammenfassung

Sie haben periodische und verkettete Arbeit kennengelernt:

  • PeriodicWorkRequestBuilder wiederholt Arbeit mit einem Mindestintervall von 15 Minuten, jedoch nicht exakt
  • beginWith().then() verkettet Worker in einer Reihenfolge
  • Ausgabedaten fließen von einem Schritt zum nächsten; Listen werden parallel ausgeführt
  • Ein Fehler bricht die Kette ab; jeder Schritt kann eigene Einschränkungen haben

Sie haben den WorkManager-Kurs abgeschlossen.

Häufig gestellte Fragen

Ist die Lektion „Periodische und verkettete Arbeit“ kostenlos?

Ja — der vollständige Text von „Periodische und verkettete Arbeit“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Android Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Periodische und verkettete Arbeit“?

Wiederholen und verketten Sie Hintergrundaufgaben. Du übst Android Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Android Academy zu starten?

Keine Vorkenntnisse erforderlich. Android Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Periodische und verkettete Arbeit“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Android Academy-Lektion Code schreiben und ausführen?

Ja. Jede Android Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Wann WorkManager verwendet wird
  2. Einen Worker erstellen
  3. Bedingungen und Zeitplanung
  4. Periodische und verkettete Arbeit
← Zurück zu Android Academy