مقدمة
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
عن هذه الدورة
في هذه الدورة ستتعرف على كل مايتعلق بالتزامن في نظام الاندرويد والذي يسمح لنا بتنفيذ المهام وجدولتها وتشغيلها في الخلفية لتطبيقات الاندرويد. اولاً سننظر الى نظام الاندرويد بشكل مجرد (اقرئ مقالة سابقة لي عن تبسيط مفهوم الـ 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.
محتوى الدورة
الكلمات الدليلية
عن الدرس
9 إعجاب |
14 متابع |
1 مشاركة |
5099 مشاهدات |
منذ 5 سنوات |
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !