متى نستخدم WorkManager؟
اختر أداة العمل في الخلفية المناسبة
متى نستخدم WorkManager؟ درس مجاني في Android Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Android Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Android Academy 4 دروس في المجموع.
متى تستخدم WorkManager
يُعد WorkManager واجهة API الموصى بها لتنفيذ الأعمال في الخلفية التي يمكن تأجيلها، مع ضمان تنفيذها على Android. إذا كان يجب تنفيذ مهمة في نهاية المطاف، حتى بعد إغلاق التطبيق أو إعادة تشغيل الجهاز، فإن WorkManager هو الأداة المناسبة.
قابل للتأجيل ومضمون التنفيذ
تحدد كلمتان أساسيتان مجال استخدام WorkManager:
- قابل للتأجيل: لا يلزم تشغيله الآن؛ إذ يمكنه الانتظار حتى تتوفر الظروف المناسبة
- مضمون التنفيذ: سيُشغَّل في نهاية المطاف، مع الاستمرار بعد خروج التطبيق وإعادة التشغيل
حالات استخدام مناسبة
يناسب WorkManager أعمالًا مثل:
- رفع السجلات أو بيانات التحليلات
- مزامنة البيانات مع خادم
- إجراء نسخ احتياطية دورية للمحتوى
- ضغط الصور أو معالجتها
يمكن لكل هذه الأعمال الانتظار، ويجب ألا تضيع.
متى لا تستخدمه
يُعد WorkManager أداة غير مناسبة في الحالات التالية:
- الأعمال الفورية داخل التطبيق والمرتبطة بالشاشة الحالية: استخدم coroutine في
viewModelScope - التنبيهات المحددة بوقت دقيق: استخدم
AlarmManager - المهام الطويلة التي بدأها المستخدم ويجب إنهاؤها الآن: فكّر في استخدام خدمة تعمل في المقدمة
يراعي صحة النظام
يجمع WorkManager الأعمال ويؤجلها لمراعاة وضع Doze والبطارية وقيود العمل في الخلفية. وتصف المتطلبات، بينما يختار النظام وقتًا فعالًا للتنفيذ، مما يحافظ على البطارية.
تحدد القيود آلية التنفيذ
يمكنك إرفاق قيود مثل "على شبكة غير محسوبة التكلفة فقط" أو "أثناء الشحن فقط". وينتظر WorkManager استيفاء هذه الشروط قبل تشغيل مهمتك.
يتولى حفظ الحالة
يخزن WorkManager قائمة أعماله في قاعدة بيانات داخلية. وإذا أُغلق التطبيق بالقوة أو أُعيد تشغيل الهاتف، تُستعاد الأعمال المجدولة وتستمر في التنفيذ. وتحصل على ذلك تلقائيًا.
مرة واحدة مقابل دوري
يدعم WorkManager نوعين من الأعمال:
- OneTimeWorkRequest: يُشغّل مرة واحدة
- PeriodicWorkRequest: يتكرر على فترات (بحد أدنى 15 دقيقة)
إعادة المحاولة المدمجة
إذا فشلت مهمتك فشلًا مؤقتًا، فإن إعادة Result.retry() تخبر WorkManager بالمحاولة مرة أخرى لاحقًا باستخدام سياسة تراجع، فلا تحتاج إلى كتابة منطق إعادة المحاولة بنفسك.
إضافة التبعية
أضف مكتبة تشغيل WorkManager (مع دعم coroutines عبر KTX) إلى ملف Gradle الخاص بالوحدة.
dependencies {
implementation("androidx.work:work-runtime-ktx:2.9.1")
}النموذج الذهني
فكّر في WorkManager على أنه قائمة مهام موثوقة للأعمال في الخلفية: تضيف مهمة مع شروطها، ويضمن النظام إكمالها في وقت مناسب، حتى إذا طرأت ظروف تعيق التنفيذ.
اختبار سريع
اختبر مدى فهمك لموعد استخدام WorkManager.
مراجعة
لقد تعلمت الغرض من WorkManager:
- ينفذ الأعمال في الخلفية القابلة للتأجيل والمضمونة
- مناسب جدًا للمزامنة والرفع والنسخ الاحتياطي، وغير مناسب للأعمال الفورية أو المحددة بوقت دقيق
- يحفظ الأعمال بعد توقف التطبيق وإعادة تشغيل الجهاز، ويراعي البطارية، ويعيد المحاولة
- يدعم الأعمال التي تُنفذ مرة واحدة أو دوريًا مع القيود
التالي: إنشاء Worker.
الأسئلة الشائعة
هل درس «متى نستخدم WorkManager؟» مجاني؟
نعم — نص درس «متى نستخدم WorkManager؟» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Android Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Android Academy 4 دروس في المجموع.
ماذا ستتعلم في «متى نستخدم WorkManager؟»؟
اختر أداة العمل في الخلفية المناسبة تتمرن على Android Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Android Academy؟
لا تُشترط خبرة سابقة. Android Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «متى نستخدم WorkManager؟»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Android Academy هذا؟
نعم. كل درس في Android Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- متى نستخدم WorkManager؟
- إنشاء Worker
- القيود والجدولة
- العمل الدوري والمتسلسل