صفحات

samedi 9 mars 2013

الملفات المكونة لمشروع أندرويد

السلام عليكم و رحمة الله .
سنرى إخواني في هذا الدرس الملفات التي يتكون منها مشروعنا بالتفصيل و سنشرح كل ملف عى حدى . على بركة الله

شجرة المشروع:
بعد إنشاء أول مشروع لنا ، لابد أننا لاحظنا أن المشروع يتكون من العديد من الملفات و المجلدات ، وذلك يظهر جليا من متصفح المشروع (Project Explorer) :
 سنحاول شرح شجرة المشروع :
المجلد src :يضم ملفات الأكواد و الحزمات(Packages) .
المجلد gen : يضم ملفات Java  يتم توليدها أوتوماتيكيا .
المجلد res : هذا المجلد مهم جداا و يجب فهم محتوياته، فهو يضم الموارد التي سيستخدمه التطبيق،فالننظر إليه عن كثب :

المجلدات drawable خاصة بتصميم مكونات التطبيق و الصور
المجلد layout يضم ملفات XML  تحدد تصميم الActivity  أو تصاميم نوافذ Dialog (إنذارات،إعلامات ...) أو تصاميم أخرى.
المجلدات values  تضم ملفات XML  تحدد قيم الألوان أو السلاسل النصية أو الأبعاد التي سيستخدمها التطبيق كلون الخلفية مثلا أو النص الذي سيكتب مثلا على زر ما ......
بالنسبة للمجلدات الأخرى التي لم نتطرق إليها،سيأتي موعدها عند الحاجة إلى ذلك .
عادة ، التطبيقات الكبرى لا تستغني عن طريقة تنظيم الموارد هذه، فهذه المجلدات تنظم تطبيقاتنا بحيث تمككنا من جعلها عالمية (بلغات متعددة مثلا أو مناسبة لأجهزة متعددة) وتمكننا كذلك من عدم خلط عملية تصميم الواجهات ببرمجة نواة التطبيق،فهي تنظم و تسهل عملية البرمجة،وربما ذهب الكثير إلى قول أن هذه الطريقة تستعمل نموذج MVC  .
الفئة الرئيسية:
الفئة(Class) الرئيسية توجد في المجلد src داخل الحزمة التي أنشأناها عند إنشاء المشروع com.barmmej.android.firstapp  وقد أسميتها MainActivity .سنعرض كود هذه الفئة وسنشرح ما يتطلب الشرح:

package com.barmeej.android.firstapp;
 import android.app.Activity;
 import android.os.Bundle;
 public class MainActivity extends Activity {
      @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
     }
 } 

الفئة الرئيسية تضم دالة واحدة (هذا لا يعني أنه لا يوجد غيرها بل سنكتفي بهذه في هذه المرحلة)  هي الدالة onCreate ويتم استدعاء هذه الدالة عند إنشاء ال Activity .
الدالة setContentView تمكننا من تحديد تصميم (Layout) للActivity و هو R.layout.activity_main وسنشرحه :
  • R هو اسم فئة(Class) يتم توليدها  وتحديثها تلقائيا كلما قمنا بإضافة أو تغيير تصميم (Layout) أو إضافة أو تغيير قيم(ألوان،أبعاد،سلاسل نصية) ، عموما هذه الفئة تضم معرفات (identificateur,identifier) لهذه العناصر التي ذكرناها.
  • layout هنا نحدد نوع العنصر الذي نريد تحديده فربما يكون string عند الرغبة في تحديد سلسلة نصية، color  عند الرغبة في تحديد لون ....
  •  activity_main هو اسم ملف التصميم (Layout) الذي تم إنشاؤه عند إنشاء المشروع.
سنحاول سرد بعض الدوال المهمة الأخرى التي نجدها في فئة ال Activity :
الدالة الوصف
onCreate يتم استدعائها عند إنشاء الActivty  لأول مرة.وفيها يتم القيام بكل الإعدادت الأولية من تحديد للتصاميم.وهي متبوعة غالبا بالدالة onStart.
 onRestart يتم استدعاؤها بعد توقيف الActivity . هي متبوعة غالبا بالدالة onStart.
 onStart  يتم استدعاؤها عند ظهور ال Activity للمستخدم .وتتبعها الدالة onResume إذاكانت ظاهرة أو onStop إذاكانت مخفية.
 onResume  يتم استدعاؤها عندما تكون Activity  في تفاعل مع المستخدم.دائما متبوعة ب الدالة onStop.
 onPause  عند تعليق الActivity .
 onStop  يتم استدعاؤها عند اختفاء ال Activity .
 onDestroy  يتم استدعاؤها عند تدمير ال Activity .

 تصميم الواجهة الرئيسية :
 الملف الذي يمكننا من تصميم الواجهة الرئيسية للـActivity هو الملف الذي أسميته activity_main.xml  ونجده دائما في الرابط res/layout .عند فتح الملف سنجد ما يلي:





 يمكن ملاحظة النافذة و هي مقسمة إلى مناطق متعددة:
  • المنطقة 1 : هذا الجزء يضم المكونات التي يتم إضافتها من أزرار و حقول كتابة و تنسيقات (Layout) و عناصر أخرى ....
  • المنطقة 2 : هذا الجزء يعطينا لمحة عن كيف سيكون التصميم على الهاتف و إليه يتم إضافة المكونات السابق الذكر .
  • المنطقة 3 : هنا يوجد تشجير للعناصر التي تمت إضافتها لتصميم الActivity .
  • المنطقة 4 : عند اختيار مكون ما من المنطقة 2 ، يمكننا تغيير خصاءصه في هذا الجزء(لون ، أبعاد ، ...).
  • المنطقة 5 : هنا يمكن تحديد نسخة الأندرويد التي يستهدفها التطبيق،ذلك لأن كل نسخة تأتي بإضافات عن سابقاتها فيما يخص المكونات و غيرها....
  • المنطقة 6 : هنا يمكننا اختيار بعض أنواع الهواتف او الألواح ، بالأحرى شاشاتها و أبعاد شاشاتها و ذلك لكي يتمكن المبرمج من معاينة تطبيقه على أكبر عدد من الأجهزة.
 عند إضافة أو تغيير مكون ما في التصميم،يتم تلقائيا تحديث ملف activity_main.xml،كما يمكن تحديثه يدويا و ذلك بعرضه مباشرة وذلك بالإنتقال إلى اللسان (Ongelt) في أسفل النافذة كما يلي:
وستجدون الملف على الشكل التالي :
<RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:paddingBottom="@dimen/activity_vertical_margin"
     android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
     tools:context=".MainActivity" >
      <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/hello_world" />
  </RelativeLayout>
 إذن يمكن تعديل الملف من هنا ، لكن يشترط معرفة الحقائب التي نستخدمها و خصائص كل حقيبة، وذلك سهل بإذن الله و يأتي مع الممارسة.
عموما نستخدم ال GUI (الغرافيك) لأنه أسهل من ال XML .
هكذا نكون قد عرجنا على جميع الملفات المهمة في مشروع الأندرويد.سنمر الآن إلى أول تطبيق أندرويد .

0 commentaires:

Enregistrer un commentaire