0Pricing
Android Academy · Pelajaran

Pekerjaan Berkala dan Berantai

Ulangi dan urutkan tugas latar belakang.

Pekerjaan Berkala dan Berantai adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.

Pekerjaan Berkala dan Berantai

Selain tugas sekali jalan, WorkManager dapat mengulangi pekerjaan sesuai jadwal dan merangkai beberapa worker agar berjalan secara berurutan. Pelajaran ini membahas keduanya.

PeriodicWorkRequest

Untuk pekerjaan berulang, gunakan PeriodicWorkRequestBuilder dengan menentukan interval pengulangan. WorkManager menjalankan kembali worker sekali setiap interval.

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

Minimum 15 Menit

Interval pengulangan minimum adalah 15 menit. Permintaan dengan interval yang lebih singkat akan dibatasi menjadi 15 menit. Hal ini menghemat baterai; WorkManager bukan untuk pengaturan waktu hingga hitungan detik.

Pekerjaan Berkala Tidak Tepat Waktu

Interval merupakan pedoman, bukan pengatur waktu yang presisi. Sistem dapat menjalankan pekerjaan lebih lambat untuk mengelompokkan pekerjaan dan menghemat daya. Jangan mengandalkannya untuk tugas yang sensitif terhadap waktu.

Memasukkan Pekerjaan Berkala Unik ke Antrean

Gunakan enqueueUniquePeriodicWork agar beberapa salinan pekerjaan berkala yang sama tidak menumpuk saat aplikasi diluncurkan berulang kali.

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

Apa Itu Perangkaian

Perangkaian menjalankan worker dalam urutan yang ditentukan: langkah B hanya dimulai setelah langkah A berhasil. Output dari satu langkah menjadi input untuk langkah berikutnya.

beginWith dan then

Mulai rangkaian dengan beginWith dan tambahkan langkah berurutan dengan then. Panggil enqueue untuk mengirimkan seluruh rangkaian.

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

Data Mengalir Melalui Rangkaian

Output Data dari satu worker diteruskan sebagai input ke worker berikutnya. Jadi, compressRequest dapat mengembalikan jalur file yang dibaca oleh uploadRequest dari inputData-nya.

Langkah Paralel dalam Rangkaian

Anda dapat menjalankan beberapa worker secara paralel dengan meneruskan daftar ke beginWith; then berikutnya menunggu hingga semuanya selesai.

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

Kegagalan Menghentikan Rangkaian

Jika ada worker yang mengembalikan Result.failure(), langkah-langkah yang tersisa dalam rangkaian akan dibatalkan. Namun, retry() akan menjeda rangkaian hingga langkah tersebut akhirnya berhasil.

Menggabungkan dengan Batasan

Setiap permintaan dalam rangkaian atau setiap permintaan berkala dapat memiliki batasannya sendiri. Misalnya, hanya langkah pengunggahan yang memerlukan jaringan tanpa batas, sedangkan kompresi dapat berjalan kapan saja.

Pemeriksaan Singkat

Uji pemahaman Anda tentang pekerjaan berkala dan berantai.

Ringkasan

Anda telah mempelajari pekerjaan berkala dan berantai:

  • PeriodicWorkRequestBuilder mengulangi pekerjaan, minimum 15 menit, dan tidak tepat waktu
  • beginWith().then() merangkai worker secara berurutan
  • Data output mengalir dari satu langkah ke langkah berikutnya; daftar berjalan secara paralel
  • Kegagalan membatalkan rangkaian; setiap langkah dapat memiliki batasannya sendiri

Anda telah menyelesaikan kursus WorkManager.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pekerjaan Berkala dan Berantai” gratis?

Ya — teks lengkap “Pekerjaan Berkala dan Berantai” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pekerjaan Berkala dan Berantai”?

Ulangi dan urutkan tugas latar belakang. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Android Academy?

Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Pekerjaan Berkala dan Berantai” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?

Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Kapan Menggunakan WorkManager
  2. Membuat Worker
  3. Batasan dan Penjadwalan
  4. Pekerjaan Berkala dan Berantai
← Kembali ke Android Academy