CodeBlanks Logo Icon CodeBlanks

OneOffTask

OneOffTask ile tek seferlik görev zamanlamayı öğrenirsin.

OneOffTask nedir?

OneOffTask, bir kez çalışan arka plan görevini temsil eder. Workmanager().registerOneOffTask ile kaydedilir; görev bir süre sonra tek sefer çalışır. İlk parametre görev kimliği, ikincisi ise callbackDispatcher'a iletilecek addır.

Workmanager().registerOneOffTask(
  'sync-task',
  'sync',
);

registerOneOffTask

registerOneOffTask metodu, tek seferlik görevi zamanlar. tag ile görev etiketlenir, initialDelay ile başlangıç gecikmesi verilir. Görev çalıştığında callbackDispatcher çağrılır ve ikinci parametredeki ad task olarak gelir.

Workmanager().registerOneOffTask(
  'sync-task',
  'sync',
  initialDelay: Duration(seconds: 10),
);

Uygulama Tek seferlik görev kaydet

Workmanager().registerOneOffTask ile 'sync-task' kimliği ve 'sync' callback adıyla görev kaydet ve 'ok' yazdır.

Başlangıç kodu

main.dart
class Workmanager {
  void initialize(Function dispatcher, {bool isInDebugMode = false}) {}
  void registerOneOffTask(String uniqueId, String taskName, {Duration? initialDelay}) {}
}

bool callbackDispatcher(String task) => true;

void main() {
  // tek seferlik görev kaydet
  // 'ok' yazdır
}

Örnek çözüm

main.dart
class Workmanager {
  void initialize(Function dispatcher, {bool isInDebugMode = false}) {}
  void registerOneOffTask(String uniqueId, String taskName, {Duration? initialDelay}) {}
}

bool callbackDispatcher(String task) => true;

void main() {
  Workmanager().registerOneOffTask('sync-task', 'sync');
  print('ok');
}

Beklenen çıktı

ok

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 OneOffTask kaç kez çalışır?

  • Sürekli, belirli aralıklarla
  • Yalnızca bir kez Doğru cevap
  • Her uygulama açılışında
  • Hiç çalışmaz

Açıklama: OneOffTask bir kez çalışır; periyodik çalışma için PeriodicTask kullanılır.

2 Tek seferlik görev kaydet

Soru
Workmanager().____(
  'sync-task',
  'sync',
);
Cevap
Workmanager().registerOneOffTask(
  'sync-task',
  'sync',
);

Açıklama: Tek seferlik görev kaydetmek için registerOneOffTask metodu çağrılır; ilk parametre görev kimliğidir.

3 OneOffTask parçaları

Kavram Anlamı
registerOneOffTask Tek seferlik kayıt
'sync-task' Görev kimliği
'sync' Callback adı
initialDelay Başlangıç gecikmesi

İleri seviye bölümündeki tüm dersler