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


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





سنقوم بداية بالتأكد من وجود المجلد الذي يحتوي على الأمثلة. سنتوجه الى المجلد الذي حفظنا فيه ال SDK. ومن ثم:
Platforms>android-2.0.1>samples
الآن نتوجه الى برنامج الاكليبس ونقوم بالتأكد من وجود نسخة افتراضية من جهاز الأندرويد جاهزة للعمل (طبعا في نافذة منفصلة عن الاكليبس):
ينصح بإبقاء النسخة الافتراضية فعالة، لا داعي من إغلاق نسخة الجهاز الافتراضي من أندرويد بعد تشغيل التطبيقات عليها.
نقوم الآن بالتوجه الى:
ثم
ثم
تأكد من إدخال جميع القيم بشكل صحيح. اضغط على Finish لترى أن المثال الخاص بلعبة الثعبان Snake قد تم فتحه.
دعكم الآن من هذه الملفات ولنقم بتشغيل التطبيق. اضغط على:
سيظهر المربع التالي. اختر Android Application ثم اضغط OK:
ننتقل مباشرة الى نافذة الجهاز الافتراضي، فنجد التطبيق يعمل عليها:
ملاحظة: ربما تواجهك مشكلة أثناء محاولتك تشغيل التطبيق وتظهر لك رسالة تفيد بأن التطبيق يحتوي على خطأ معين. الحل قد يبدو غريبا بعض الشيء، ولكنه يعمل على الأقل. افتح الملف الذي يحمل اسم Snake_layout.xml وهو موجود تحت مجلد res/layout وقم بحذف أي مسافة بيضاء white space ومن ثم احفظ الملف. يفترض أن تختفي العلامة الحمراء المجاورة لاسم التطبيق في العمود الجانبي الذي يحتوي ملفات التطبيق. يمكنك الآن تشغيل البرنامج عبر Run.
 تطبيق الأندرويد Software Development Life Cycle SDLC
من ناحية برمجية بحتة، من المفترض أن يحتوي أي تطبيق على عدد من الدوال والتي ستتضح مهمة كل منها بمجرد قراءة اسمها:
onCreate
onStart
Process-specific events
onStop
onDestroy
ببساطة، الدالة Function الأولى تحوي الأوامر المتعلقة ببداية انشاء التطبيق، كتهيئة الواجهة الرسومية له واعداد البيانات المرتبطة بالقوائم. الدالة الثانية، onStart، تحوي الأوامر الخاصة بالتطبيق عند بداية عمل العملية Process الخاصة به، وهي اذا الدالة التي عند بداية تنفيذها، نرى التطبيق وقد ظهر على الشاشة. الدالة الثالثة هي ليست دالة فعليا بقدر ماهي عدد من الدوال Functions التي تتعامل مع الأحداث Events التي تحدث أثناء عمل التطبيق، كتحليل قراءات الجي بي اس ودخول قاعدة بيانات وغيرها.
دالة onStop تتعلق بالعملية Process الخاصة بالتطبيق عند توقفها. يقترن استدعاء هذه الدالة باختفاء التطبيق من على الشاشة Foreground وعمله في الخلفية Background (أو حتى توقفه مؤقتا). فمثلا اذا ضغطنا الزر الذي يعيدنا الى الشاشة الرئيسية Home button أثناء استخدامنا لأحد التطبيقات، فإن التطبيق سيستدعي هذه الدالة ويختفي من على الشاشة. تختلف التطبيقات في التعامل مع هذا الحدث. فهناك تطبيقات تستدعي دالة onDestroy المشروحة في النقطة اللاحقة، أو أن يتم الحفاظ على العملية في الخلفية وإعادة تشغيلها عندما يضغط المستخدم على أيقونة التطبيق من جديد عبر استدعاء الدالة onRestart.
دالة onDestroy يتم استدعاؤها في حال رغبنا بإنهاء التطبيق وبالتالي قيام نظام التشغيل بقتل\انهاء العلمية الخاصة به.
 برمجة تطبيق Hello World Application والتعرف على الملفات المكونة لتطبيقات الأندرويد
حاول أن تغلق جميع المشاريع المفتوحة حاليا في برنامج الاكليبس (اضغط بالزر الأيمن على اسم المشروع ومن ثم Close Project).
اضغط الآن على:
ثم
نقوم بإدخال البيانات التالية:
 تظهر لنا الملفات التالية:
بالنسبة لملف ال AndroidManifest.xml فهو ملف يحتوي الاعدادات العامة للتطبيق (لمطوري ال ASP.NET، هذا الملف مكافىء لحد ما لملف ال Web.config). عبر هذا الملف، يتم التحكم بأنشطة التطبيق Activities، وال Intents وأذونات التطبيق Permissions. (سنقوم بشرح هذه المفاهيم لاحقا).
بالانتقال الى مجلد res نجد أن هذا المجلد يحتوي على المصادر والمواد التي سيتم استخدامها في التطبيق. كما في الصورة في الأسفل، نجد المجلدات التالية:
  • drawable: هنا نضع ملفات الصور التي يستخدمها التطبيق.
  • layout: يحتوي هذا المجلد على ملفات من نوع XML وهي المسؤولة عن تصميم وتهيئة الواجهات الرسومية Views and User Interface الخاصة بالتطبيق.
  • values: يحتوي على القيم النصية المشتركة Global String Values التي يمكن استخدامها في التطبيق (وما يحتويه من أنشطة وواجهات Activities and Views)
بالنسبة لمجلد assets، يتم وضع ملفات الصوت والحركة Animation في داخله.
مجلد Android 2.0.1 هو مجلد يحتوي على المكتبات البرمجية Libraries المتاحة للتطبيق كي يستخدمها. في الواقع هو مجلد يحتوي على مؤشرات الى هذه المكتبات الموجودة في الحزمة التطويرية للأندرويد.
مجلد gen يحتوي ملفا اسمه R.java وهو ملف يتم تشكيله بشكل آلي ليحتوي على مؤشرات Pointers تشير الى المواد والمصادر الموجودة في res.
 نصل الى مجلد src والذي يحتوي الشفرة المصدرية Source Code للتطبيق.
نفتح الآن الملف HelloWorldArdroid.java :
في أعلى الملف، نستدعي المكتبات التالية:
وهاتان المكتبتان هما من أهم المكتبات التي سيتم استخدامها في برمجة جميع التطبيقات. ولا ننس أن من سيتولى عملية الاستدعاء الفعلية هو مجلد Android 2.0.1 آنف الذكر.
ننتقل الى ال Class الخاصة بالتطبيق. لاحظ أن دالة onCreate قد تم تحديد مهمتها باستدعاء الدالة
والتي تم تمرير اليها المؤشر Pointer الموجود في ملف R.java والذي يشير بدوره الى ملف ال XML الموجود في مجلد res/layout المسؤول عن إعداد الواجهة الرسومية.
بفتح ملف ال main.xml  الموجود في res/layout نجد عددا من عناصر ال XML وما يهمنا هو <TextView>
نجد أن لهذا العنصر الخصائص Attributes التالية: layout_width, layout_height, text.
الخاصيتان Width and Height تهتمان بطريقة عرض النص (طوله وعرضه). الخاصية الأخيرة تحتوي على قيمة النص. نجد أن القيمة هي: @string/hello وهذا يعني أن النص موجود في مكان ما. تكلمنا في منتصف الدرس عن ملف يحتوي القيم النصية التي يمكن استدعاؤها من أي مكان في التطبيق وهو الملف الموجود تحت مجلد res/values :
نجد القيمة الفعلية للنص hello ويمكننا الآن تغييرها لو أردنا.
نقوم الآن بتشغيل البرنامج عبر Run>Run :
ننتقل الى نافذة الجهاز الافتراضي وننتظر قليلا حتى تظهر النتيجة التالية:
في الدرس القادم، سنبدأ بكتابة الكود الخاص بإظهار نص بطريقة مغايرة للموجودة في الأعلى، ومن ثم طريقة عرض صور في التطبيق، وختاما سنقوم بالتعرف الى مفهوم ال Intents أو النوايا  أي أن المبرمج يكون لديه نية في عمل مكالمة طوارىء في وقت معين من التطبيق، أو مثلا عرض جميع التطبيقات الموجودة في الجهاز على شكل قائمة وغيرها.

شارك الموضوع

مواضيع ذات صلة