الرئيسية > تقنية > تطبيقات الاندرويد
تطبيقات الاندرويد

تطبيقات الاندرويد

يمكن كتابة تطبيقات الاندرويد باستخدام لغات “Kotlin” و”Java” و”C ++”. تجمع أدوات SDK للاندرويد شفرتك مع أي ملفات بيانات ومصادر في ملف APK.

تطبيقات الاندرويد

عبارة عن ملف أرشيف بحيث يحتوي ملف APK واحد على جميع محتويات تطبيقات الاندرويد وهو الملف الذي تستخدمه الأجهزة التي تعمل بنظام الاندرويد لتثبيت التطبيق.

تبقى كل تطبيقات في وضع الحماية الخاص به، محميًا بميزات أمان الاندرويد التالية:

  • نظام التشغيل الاندرويد هو نظام لينكس “Linux” متعدد المستخدمين حيث يكون لكل تطبيق مستخدمًا مختلفًا.
  • بشكل افتراضي، يعين النظام لكل تطبيق تعريف الهوية مختلفة لمستخدم لينكس  (يتم استخدام تعريف الهوية فقط من قبل النظام وغير معروف للتطبيق). يعيّن النظام ‘موافقات’ لجميع الملفات في تطبيق بحيث لا يمكن الوصول إليها إلا من خلال تعريف هوية المستخدم المعيّن لهذا التطبيق.
  • تحتوي كل عملية على جهاز إفتراضي خاص بها (VM)، بحيث يتم تشغيل رمز التطبيق بمعزل عن التطبيقات الأخرى.
  • بشكل افتراضي، يتم تشغيل كل تطبيق في عملية لينكس الخاصة به، يبدأ نظام أندرويد العملية عند الحاجة إلى تنفيذ أي من مكونات التطبيق، ثم إيقاف العملية عندما لا تكون هناك حاجة إليها أو عندما يجب على النظام استعادة الذاكرة للتطبيقات الأخرى.

يطبق نظام أندرويد مبدأ الامتيازات المحدودة، أي أن كل تطبيق بشكل افتراضي لديه حق الوصول فقط إلى المكونات التي يتطلبها القيام بعمله وليس أكثر.

وهذا يخلق بيئة آمنة للغاية ولا يمكن للتطبيق الوصول إلى أجزاء من النظام لم يتم منحه الإذن بوصولها. ومع ذلك، هناك طرق لتطبيق مشاركة البيانات مع تطبيقات أخرى. وليمكن للتطبيق الوصول إلى خدمات النظام:

  • من الممكن جعل تطبيقين لمشاركة نفس تعريف الهوية لمستخدم لينكس، وفي هذه الحالة يتمكنان من الوصول إلى ملفات بعضهما البعض، للحفاظ على موارد النظام، يمكن أيضًا للتطبيقات التي لها نفس تعريف هوية المستخدم تشغيلها في نفس عملية لينكس ومشاركة نفس VM. يجب أيضًا توقيع التطبيقات بنفس الشهادة.
  • يمكن للتطبيق طلب إذن للوصول إلى بيانات الجهاز مثل جهات اتصال المستخدم، والرسائل النصية القصيرة، والتخزين القابل للتثبيت (بطاقة SD)، والكاميرا، والبلوتوث. ويجب على المستخدم منح هذه الموافقات بشكل صريح.

مكونات التطبيق هي اللبنات الأساسية لتطبيق اندرويد، يمثل كل مكون نقطة دخول يمكن للنظام أو المستخدم من خلالها الدخول إلى تطبيقك، بعض المكونات تعتمد على الآخرين.

أنواع تطبيقات الاندرويد

أربعة أنواع مختلفة من مكونات التطبيق:

– أنشطة

– خدمات

– مستقبلات البث

– موفري المحتوى

كل نوع يخدم غرضًا مميزًا وله دورة حياة مميزة تحدد كيفية إنشاء العنصر وتدميره. تصف الأقسام التالية الأنواع الأربعة لمكونات التطبيق.

 النشاط

هو نقطة الدخول للتفاعل مع المستخدم، ويمثل شاشة واحدة مع واجهة المستخدم.

على سبيل المثال قد يتضمن أحد تطبيقات البريد الإلكتروني نشاطًا واحدًا يعرض قائمة برسائل البريد الإلكتروني الجديدة، ونشاطًا آخر لإنشاء رسالة بريد إلكتروني، ونشاط آخر لقراءة الرسائل الإلكترونية.

على الرغم من أن الأنشطة تعمل معًا لتشكل تجربة مستخدم متماسكة في تطبيق البريد الإلكتروني، فإن كل منها مستقل عن الآخرين.

على هذا النحو، يمكن لتطبيق مختلف بدء أي من هذه الأنشطة إذا كان تطبيق البريد الإلكتروني يسمح بذلك.

على سبيل المثال، يمكن لتطبيق الكاميرا بدء النشاط في تطبيق البريد الإلكتروني الذي يضم البريد الجديد للسماح للمستخدم بمشاركة صورة.

 الخدمة

هي نقطة دخول للأغراض العامة للحفاظ على تشغيل التطبيق في الخلفية لجميع أنواع الأسباب.

وهو مكون يتم تشغيله في الخلفية لإجراء عمليات طويلة الأمد أو لتنفيذ أعمال للعمليات البعيدة، ولا توفر الخدمة واجهة للمستخدم.

على سبيل المثال، قد تعمل إحدى الخدمات على تشغيل الموسيقى في الخلفية أثناء وجود المستخدم في تطبيق مختلف.

أو قد يؤدي ذلك إلى جلب البيانات عبر الشبكة دون حظر تفاعل المستخدم مع أحد الأنشطة.

يمكن لمكون آخر مثل نشاط ما، بدء تشغيل الخدمة والسماح لها بتشغيلها أو ربطها للتفاعل معها.

هذا النوع من الخدمات يخبرون النظام عن كيفية إدارة التطبيق:

توجه النظام بأن يظل شغالا حتى ينتهي العمل.

قد يسمح هذا بمزامنة بعض البيانات في الخلفية أو تشغيل الموسيقى حتى بعد مغادرة المستخدم للتطبيق.

 مستقبلات البث

هي أحد المكونات التي تمكن النظام من تقديم الأحداث إلى التطبيق خارج نطاق المستخدم العادي.

مما يسمح للتطبيق بالرد على إعلانات البث على مستوى النظام بأكمله.

نظرًا لأن مستقبلات البث هي الآخرى لها حدود مميزة في التطبيق، يمكن للنظام تسليم البث حتى للتطبيقات التي لا تعمل حاليًا.

لذلك، على سبيل المثال، يمكن لأحد التطبيقات جدولة تنبيه لنشر إشعار لإخبار المستخدم عن حدث قادم.

عن طريق تقديم ذلك الإنذار إلى جهات مستقبلات البث من التطبيق.

على سبيل المثال: بث يعلن عن إيقاف تشغيل الشاشة أو انخفاض طاقة البطارية أو التقاط صورة..إلخ.

وعلى الرغم من أن مستقبلات البث لا تعرض واجهة للمستخدم.

إلا أنها قد تنشئ إشعارًا شريطيا لتنبيه المستخدم.

وعلى نحو أكثر شيوعًا، تكون مستقبلات البث مجرد مدخل إلى مكونات أخرى ومراد بها القيام بقدر ضئيل جدًا من العمل.

موفري المحتوى

يتمثل أحد الجوانب الفريدة في تصميم نظام اندرويد في إمكانية تشغيل أي تطبيق لمكون تطبيق آخر.

على سبيل المثال، إذا كان يريد أن يلتقط المستخدم صورة مع كاميرا الجهاز.

فربما يوجد تطبيق آخر يمكنه ذلك ويمكن للتطبيق استخدامه بدلاً من تطوير نشاط لالتقاط صورة بنفسه.

فهو ليس بحاجة إلى دمج أو حتى الربط برمز تطبيق الكاميرا.

بدلاً من ذلك، يمكنه ببساطة بدء النشاط في تطبيق الكاميرا الذي يلتقط صورة.

عند الإنتهاء، يتم إرجاع الصورة إلى تطبيقك حتى يتمكن من استخدامها. بالنسبة إلى المستخدم، يبدو أن كاميرا الهاتف هي جزء من التطبيق.