منتديات التطوير و الاشهار
سلسلة تعليم برمجة اندرويد - الدرس الثاني 15KrP
منتديات التطوير و الاشهار
سلسلة تعليم برمجة اندرويد - الدرس الثاني 15KrP
منتديات التطوير و الاشهار
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتديات التطوير و الاشهار

منتديات التطوير و الاشهار
 
الرئيسيةالرئيسية  البوابةالبوابة  أحدث الصورأحدث الصور  التسجيلالتسجيل  دخولدخول  

 

 سلسلة تعليم برمجة اندرويد - الدرس الثاني

اذهب الى الأسفل 
3 مشترك
كاتب الموضوعرسالة
المحارب
‎عضو ‎نشـيط
‎عضو ‎نشـيط
المحارب


عدد المساهمات : 415
نقاط نشاط : 797
السٌّمعَة : 0

سلسلة تعليم برمجة اندرويد - الدرس الثاني Empty
مُساهمةموضوع: سلسلة تعليم برمجة اندرويد - الدرس الثاني   سلسلة تعليم برمجة اندرويد - الدرس الثاني Emptyالجمعة أغسطس 09, 2013 8:24 pm

كنا قد بدأنا في الدرس الأول التعرف على كيفية اعداد برنامج  Eclipse للعمل على بيئة أندرويد وقمنا بعمل اول برنامج تجريبي لا يوجد به سوى كلمة ترحيبية ، اليوم ومع الدرس الثاني ينقوم بالتعرف على معمارية نظام التشغيل اندرويد سريعاً بدون الخوض في التفاصيل وكذالك التعرف على ركائز البرنامج الأساسية التي يجب الإلمام لها ليعمل برنامجك الخاص بمرونه وعمل برنامج بواجهة تحتوي على مكونات أكثر.
[rtl]معمارية نظام التشغيل اندرويد[/rtl]

  • [rtl]تم بناءه على نواة نظام التشغيل لينكس 2.6[/rtl]
  • [rtl]يعمل من خلال Dalvik Virtual Machine  في نسخة مخصصة للهواتف[/rtl]
  • [rtl]متصفح مبني على Webkit Engine[/rtl]
  • [rtl]رسومات ثنائية الأبعاد وثلاثية الأبعاد تعمل من خلال OpenGL[/rtl]
  • [rtl]نظام قواعد البيانات يعتمد على SQL Lite[/rtl]


[rtl]سلسلة تعليم برمجة اندرويد - الدرس الثاني System-architecture
صوره توضيحية لكيفية عمل النظام وطبقاته[/rtl]
[rtl]أنظمة تشغيل أندرويد حتى الآن[/rtl]

  • [rtl]اندرويد 1.5 تحت مسمى Cupcake[/rtl]
  • [rtl]اندرويد 1.6 تحت مسمى  Donut[/rtl]
  • [rtl]اندرويد 2.0  و 2.1 تحت مسمى Eclair[/rtl]
  • [rtl]اندرويد 2.2 تحت مسمى Froyo[/rtl]
  • [rtl]اندرويد 2.3 تحت مسمى Gingerbread (آخر اصدارة للهواتف حتى الآن )[/rtl]
  • [rtl]اندرويد 3.0 و 3.1 تحت مسمى Honeycomb (مخصص للأجهزة اللوحية Tablets فقط )[/rtl]
  • [rtl]اندرويد 4 تحت مسمى Ice Cream Sandwich ( وسيكون خليط من Gingerbread  مع  Honeycomb ليعمل على نظام الهواتف والأجهزة اللوحية)[/rtl]

[color][font]
[rtl]والآن دعونا نتعرف على مكونات أي برنامج على نظام التشغيل اندرويد وأقسامه :[/rtl]
[/font][/color]

  1. [rtl]الأنشطة ACTIVITIES :[/rtl]
    [rtl]وهو من أهم الأجزاء والتي يعتمد عليها المطور بشكل أساسي ، فهي المسئولة عن شاشة العرض ، فعلى سبيل المثال لو لدينا برنامج لشركة وبه أزرار وعند الضغط على كل زر ينقلك من شاشة إلى شاشة أخرى... فكل شاشة في هذه الحالة يطلق عليها Activity  ولعمل شاشة أخرى يجب عمل Activity جديدة.[/rtl]

    [rtl]معظم التطبيقات تحتوي على أكثر من Activity  ، وعند الضغط على زر وتنطلق من شاشة إلى أخرى يتم وقف الشاشة القديمة تلقائياً pause  وتقوم الشاشة الجديدة بالبدء start وفي حين لو قمت بعمل رجوع back فترجع الشاشة القديمة اليى الوضع resume  مره أخرى.[/rtl]

    [rtl]يمكنك التحكم في تصميم الشاشة من خلال كتابة كود بالجافا java برمجياً  أو عن طريق اكواد xml ، ويفضل استخدام الـ xml وذالك حتى نفصل التصميم عن الكود البرمجي logic ، نفس الفكرة تماماً لمن له الخبره في الويب ويريد فصل كود الـ PHP مثلاً عن الـ HTML و الـ CSS فيقوم باستخدام Template Engine  مثل SMARTY (لا يهم اذا كان هذا المثال غير واضح... دعنا نكمل).[/rtl]

  2. [rtl]الخدمات SERVICES :[/rtl]
    [rtl]الخدمات هي الجزء الذي يعتمد على تشغيل خدمة معينة في الخلفية اثناء عملك على الهاتف او الجهاز ، فهو لا يحتوي على واجهة رسومية ، وكمثال على ذالك تشغيل الموسيقى ، التأكد من اتصال الشبكة . يمكن للخدمة ان تكون مستقلة  عن البرنامج او جزء منه بمعنى انه في حالة غلق البرنامج يمكن ان يستمر في العمل او الإغلاق معه.[/rtl]

  3. [rtl]مزود البيانات  CONTENT PROVIDER:[/rtl]
    [rtl]لا أعلم ان كانت هذه هي الترجمة الصحيحة لها أم لا... على أية حال هي الجزء المسئول عن امداد التطبيق الخاص بك بالمحتوى الذي يتشارك معه جميع التطبيقات ، وهي ايضاً الطريقة الوحيده التي يمكن استخدام البيانات بين التطبيقات وبعضها ، وهي تعتبر مثل قاعدة بيانات ، ومثال على ذالك هو محتوى دليل الهاتف الخاص بك Contacts  أو الرسائل Messages وغيره...[/rtl]

  4. [rtl]جهة الإستقبال BROADCAST RECIEVER :[/rtl]
    [rtl]هناك عدد من الأحداث التي ترسل من الهاتف في حالة حدوث شئ معين على سبيل المثال بعد ترك الهاتف لفترة معينة فإنه يقوم تلقائياً باغلاق الشاشة فهذا يعتبر حدث يرسل من الهاتف اليقوم باغلاق الشاشة ، او مثلا عندما يأتي اتصال فانه يرسل حدث الى جميع التطبيقات ان هناك اتصال قادم وهكذا... ومن حقك ايضاً كمطور لتطبيق ان تقوم بالبدء في عمل الحدث الخاص بك ويمكن ان يكون مجرد تنبيه في قائمة التنبيهات notification bas.[/rtl]


لا اعتاد على ان تكون دروسي بها الكثير من الكلام ولكن النقاط السابقة هامة جداً ، ولا تقلق من عدم فهمك بشكل كبير لأي منها  لأن التطبيق عملياً سيكون أفضل بكثير ، قبل انتقال الى الخطوة التالية دعوني اعرض صورة وجدتها اثناء تصفحي لهذا الموقع لتوضيح ما قلته وعلاقة كل شئ بالآخر
[color][font]
سلسلة تعليم برمجة اندرويد - الدرس الثاني Figure1
[/font][/color]
الآن دعونا ننتقل الى العملي ونكمل ما قد بدأناه في الدرس الأول ولكن لنتعرف سوياً على محتويات المشروع  الهامة التي تم انشائه في برنامج Eclipse  وظهر هذا النحو:
[color][font]
سلسلة تعليم برمجة اندرويد - الدرس الثاني 1
[/font][/color]

    src : وهو المجلد الذي يحتوي على الأكواد التي ستقوم بكتابتها في البرنامج الخاص بك ، أو بمعني آخر كل عملك سيكون من خلال هذا المجلد.

    gen : يحتوي على ملفات يقوم الجافا بانشائها تلقائياً والتعديل عليها كالملف المشهور الموجود بداخله R.java  والذي يضيف عنوان كودي الى كل  مكون تقوم باستخدامه ، هذا الملف لن تستعمله نهائياً في أغلب الأوقات.

    Android 2.2 : وهو ما يحتوي على مكتبة الاكواد التي نقوم بالتعامل معها حسب اصدارة اندرويد التي نتعامل معها او نبرمج عليها.

    res : وتحتوي على كل المتعلقات من صور وملفات xml لإستخدامها في البرنامج.

    AndroidManifest.xml : وهو  الملف الرئيسي الذي يقوم بربط مكونات التطبيق ببعض ويحتوي على جميع المعلومات التي تتعلق بالإصداره والتصاريح التي يحتاجها البرنامج للعمل وغيره.



إذن دعونا نبدأ ، لان كثرة الشرح اصابتنا بالملل جميعاً!

لنكمل ما بدأناه في الدرس الأول وقد قمنا بعمل برنامج بسيط واضفنا كود لكتابة رسالة ترحيبية ، وكما سبق وان ذكرت انه لا بفضل استخدام الكود في اضافة مكون مثل النص Text  و صور Image  وانما يفضل اضافتها من خلال xml ، لنرجع الى الوراء قليلاً...  هذا هو الكود الموجود في الملف الموجود داخل مجلد src وهو الملف الرئيسي :

public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

شرح سريع لهذا الكود لعلكم تلاحظون ان الـ class  المستخدم هو من نوع  Activity  والذي قمنا بشرحه مسباقاً والذي يفيد انه مسئولة عن شاشة  معينة وهي شاشة البدء والـfunction تسمى onCreate  وهي تعتبر event اي بمجرد ان يقوم البرنامج بالبدء سيتم تنفيذ الكود بداخله ، اذن هذا الكود مسئول عن انشاء شاشة جديدة بها المحتوى الموجود داخل onCreate  ، ننتقل الآن الى ما بداخله وهي

setContentView(R.layout.main);

وهي تخبرني ان محتوى الشاشة سيتم جلبه من الملف R.Layout.main ... ولكن اين يمكنني الحصول على هذا الملف ؟ لو رجعنا قليلاً الى الوراء سنتذكر ان هناك مجلد كان يحتوي على ملفات للصور وملفات xml ... نعم هو مجلد res  او resources  اذن R ترمز الى res وبعدها layout  سنقوم بالدخول على مجلد layout  وبعدها main والتي تشير الى main.xml ... هل الأمر واضح ؟ أعتقد إلى الآن بسيط ولا يوجد به مشكلة...  قم بالضغط على main وهذا ما سيظهر :
[color][font]
سلسلة تعليم برمجة اندرويد - الدرس الثاني B_700_417_16777215_00___images_stories_series_android_2_2
[/font][/color]
ظهرت شاشة بها العديد من المكونات التي يجب ان نستخدمها. فقط قم بتجربة سحب اي من هذه المكونات مثل Radio Button  أو Text أو Button او غيره ، وللإنتقال الى كودالـ xml من أسفل يمكنك الذهاب الى تبويب main.xml لترى الكود الخاص بالملف ، وبمجرد وضعك لأي مكون آخر سيتم انشاء الكود تلقائياً... ليكون مثلاً على النحو التالي :
[color][font]
سلسلة تعليم برمجة اندرويد - الدرس الثاني 3
[/font][/color]
ستجد هناك نافذة outline على الجانب الأيسر تحتوي على كل المكونات التي قمت بوضعها ، اذا قمت بالضغط المتتالي على واحد منها ستظهر لك نافذة  properties  ومن خلالها سيمكن ان نقوم بتغيير خصائص اي مكون من المكونات الي قد استخدمناها بكل سهوبة فعلى سبيل المثال الصورة التالي قمت بتغيير الكلمة الى Welcome to Arabhardware.Net
[color][font]
سلسلة تعليم برمجة اندرويد - الدرس الثاني 4
[/font][/color]
وهناك الكثير من الخصائص الأخرى ادعوك لإستكشافها بنفسك ... واذا وجهتك اي مشكلة يمكن المتابعة من خلال الموضوع في المنتدى وسأقوم بالرد عليك ومساعدتك ، يمكنك الآن ان تقوم بتشغيل البرنامج ورؤية ما قمت بعمله.
[color][font]
سلسلة تعليم برمجة اندرويد - الدرس الثاني 5
[/font][/color]
مبروك برنامجك الآن يعمل بشكل أفضل!
الرجوع الى أعلى الصفحة اذهب الى الأسفل
واحد
‎عضو ‎نشـيط
‎عضو ‎نشـيط
avatar


ذكر
عدد المساهمات : 4716
نقاط نشاط : 4757
السٌّمعَة : 2

سلسلة تعليم برمجة اندرويد - الدرس الثاني Empty
مُساهمةموضوع: _da3m_5   سلسلة تعليم برمجة اندرويد - الدرس الثاني Emptyالإثنين أغسطس 19, 2013 5:52 pm

موضوع رائع بوركت
سلسلة تعليم برمجة اندرويد - الدرس الثاني 4
سلسلة تعليم برمجة اندرويد - الدرس الثاني 128711691410
الرجوع الى أعلى الصفحة اذهب الى الأسفل
houdanada
‎عضو ‎نشـيط
‎عضو ‎نشـيط
houdanada


انثى
عدد المساهمات : 3997
نقاط نشاط : 4153
السٌّمعَة : 0
العمر : 27

سلسلة تعليم برمجة اندرويد - الدرس الثاني Empty
مُساهمةموضوع: رد: سلسلة تعليم برمجة اندرويد - الدرس الثاني   سلسلة تعليم برمجة اندرويد - الدرس الثاني Emptyالإثنين سبتمبر 30, 2013 12:36 am

تحياتي
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
سلسلة تعليم برمجة اندرويد - الدرس الثاني
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» سلسلة تعليم برمجة اندرويد - الدرس الثالث
» سلسلة تعليم برمجة اندرويد - الدرس الرابع
» سلسلة تعليم برمجة اندرويد - الدرس الأول
»  سلسلة دروس تعليم التجويد وآداب التلاوة
»  تعليم الفوتشوب: الدرس الاول لتصميم استايل

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات التطوير و الاشهار :: تعلـم لغات البرمجة :: تعلم Android-
انتقل الى: