مقدمة

Mohammad Laifمنذ 5 سنوات

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته


عن هذه الدورة
في هذه الدورة ستتعرف على كل مايتعلق بالتزامن في نظام الاندرويد والذي يسمح لنا بتنفيذ المهام وجدولتها وتشغيلها في الخلفية لتطبيقات الاندرويد. اولاً سننظر الى نظام الاندرويد بشكل مجرد (اقرئ مقالة سابقة لي عن تبسيط مفهوم الـ Abstraction) طبقه طبقه ليسهل فهمه, وسنتعرف على العمليات واين يتم تشغيل تطبيقاتنا في نظام الاندرويد. ثم سنتعرف على الخيوط الحاسوبية ومكوناتها وكيفية انشاء خيط حاسوبي والاخطاء المحتمله. وبعد ذاك سنقوم بانشاء وتصميم انماط للخيوط الحاسوبية لتشغيل المهام عليها. ثم سنتطرق الى كل من المكونات الـ Broadcasts و الـ Services واقسام اخرى تساعدنا على ادارة المهام وتشغيلها كالـ Alarm Manager و الـ Jobs او Tasks.

 

ملاحظة: هذه الدوره مختصه بالتزامن (concurrency) في نظام الاندرويد بلغة الجافا. اذا كنت تريد التعمق اكثر في موضوع التزامن فعليك بإلقاء نظره على التزامن في لغة الجافا.

 

الفوائد من هذه الدورة

الفوائد التي ستجنيها من هذه الدورة سوف تنقلك من مستوى الى مستوى اعلى ان شاء الله في برمجة وتصميم تطبيقات الاندريود. سستتعلم في هذه الدورة الكثير من الاشياء التي من خلالها تستطيع بناء تطبيقات سريعه وبجوده عاليه جداً, ومن بعض فوائد هذه الدوره:

  • معرفة مماذا يتكون نظام الاندرويد (الهيكلة العامة لنظام الاندريويد المسمى بالـ Android Framework).
  • اين تعيش التطبيقات عندما يقوم المستخدم بتشغيلها.
  • ستتعرف على انواع العمليات.
  • التعرف على الخيوط الحاسوبية (Threads) ومكوناتها (مثل الـ Runnable والـ Callable والـ Looper والـ Handler والـ Message والـ Message Queue).
  • معرفة الانماط المستخدمة لإنشاء الخيوط الحاسوبية (مثل الـ HandlerThreads والـ Thread Pools والذي يسمى بالـ Executors وما الى ذلك).
  • التعرف على المكون Broadcast في نظام الاندرويد واستخدامة بشكل ثابت وديناميكي وايضاً استخدامه كـ Local لنقل البيانات في التطبيق.
  • التعرف على المكون Services في نظام الاندرويد وانواعهم وطريقة استخدامهم.
  • التعرف على Alarm Manager واستخدامة بالوقت النسبي والحقيقي.
  • التعرف على ترتيب وادارة وتنظيم وتشغيل المهام في الخلفيه لنظام الاندرويد وسنستخدم كلاً من الـ Android JobSchedualer و الـ Firebase JobDispatcher و الـ WorkManager.

 

طريقة استخدامك لهذه الدورة
تستطيع الانتقال بحريتك وبدون ترتيب اذا كانت لديك خبره جيده في برمجة تطبيقات الاندرويد, عكس ذلك انصح بقرائتها درساً بدرس بالترتيب. كذلك تستطيع الرجوع لإي درس في حال احتياجك لخطوات انشاء احد محتويات هذه الدوره.

 

وتذكر ان افضل الوسائل لتعلم البرمجة هي التجربة و البناء وتعليم ماتعلمته للإخرين.

 

النهاية
لاتنسى تتبع الدورة لإشعارك عندما يتم التعديل على المتحوى او اضافة المزيد. ايضاً لاتنسى الاعجاب بها ومشاركتها مع الاخرين لتعم الفائده.

 

مشروع الدورة

على حسابي بالـ GitHub بأسم AndroidThreadBackgroundTasks.

 

المصادر والمراجع

  • تستطيع الاطلاع على هذة المصادر والمراجع لتعلم المزيد والتعمق في موضوع المزامنة ان احببت. اغلبها مصادر مدفوعة تحتاج الى البحث عنها في محرك البحث قوقل وشرائها.
  • موقع الـ Developer Guides - Documentation.
  • موقع الـ The Java Language Specification Documentation - Chapter 17: Synchronization.
  • موقع الـ Codelabs للـ Android.
  • موقع الـ CodePath للـ Android.
  • قائمة Android Performance Patterns على اليوتيوب.
  • كتاب Android Concurrency للمؤلف: G. Blake Meike.
  • كتاب Java Concurrency للمؤلف Brian Goetz.
  • دورة NanoDegree Android Develoepr من موقع Udacity.
  • دورة Android Fundamentals: BroadcastReceivers من موقع Pluralsight.
  • دورة Android Services Fundamentals من موقع Pluralsight.
  • دورة Android Threads: Getting Started من موقع Pluralsight.
  • دورة Leveraging the Power of the Android Platform من موقع Pluralsight.
  • دورة Android Fundamentals: BroadcastReceivers من موقع Pluralsight.
  • دورة Intents and Broadcast Receivers من موقع TreeHouse.
  • دورة Threads and Services من موقع TreeHouse.
  • سلسلة مقالات: Java Concurrency / Multithreading Basics.
  • سلسلة مقالات: Java Concurrency and Multithreading Tutorial.

المحاضر

Mohammad Laif

محتوى الدورة

تمهيد
1 مقدمة الدرس الحالي
2 تعرف على التزامن (الـ Concurrency)
3 اخطاء التزامن (الـ Concurrency) الشائعة
العمليات Processes
1 الهيكلة الهندسية لبيئة نظام الاندرويد
2 طبقة الـ Android Runtime و العمليات Processes
3 انواع العمليات (Processes)
الخيوط الحاسوبية Threads
1 الخيوط الحاسوبية (Threads)
2 مكونات الخيوط الحاسوبية (Thread)
3 انشاء الخيط الحاسوبي
أنماط التصميم للخيوط الحاسوبية
1 انشاء نمط الـ Handler و Looper و Thread
2 انشاء نمط الـ HandlerThreads
3 ماهو نمط الـ Thread Pools (الـ Executors)
4 استخدام نمط الـ Thread Pools كـ Singleton
5 استخدام الـ Callable مع نمط الـ Thread Pools
6 انشاء بركة خيوط حاسوبية Thread Pools لتسريع قاعدة البيانات
7 انشاء نمط الـ AsyncTask
8 انشاء نمط الـ Loader
الـ Broadcasts
1 تعرف على الـ Broadcast Receiver
2 انشاء الـ Broadcast Receiver بشكل ثابت
3 انشاء الـ Broadcast Receiver بشكل ديناميكي
4 استخدام الـ Local Broadcast للتخاطب بين المكونات
الـ Services
1 تعرف على الـ Services
2 انشاء الـ Started Service
3 انشاء الـ Intent Service
4 انشاء الـ Bound Service
5 استخدام الـ ResultReceiver للتخاطب مع الـ Intent Service
6 استخدام الـ Broadcast للتخاطب مع الـ Started Service
الـ Alarm Manager
1 تعرف على الـ Alarm Manager
2 طرق استخدام الـ Alarm Manager
الـ Jobs
1 استخدام الـ Android JobSchedualer
2 استخدام الـ Firebase JobDispatcher
3 استخدام الـ WorkManager من حزمة JetPack

الكلمات الدليلية

عن الدرس

9 إعجاب
14 متابع
1 مشاركة
3770 مشاهدات
منذ 5 سنوات

التعليقات (1)

خلود:

هل الدورات هذي يوجود لها شهايد معتمده ام لا 

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !