Post Pic

سلسلة تعلم برمجة تطبيقات الأندرويد .. الدرس الأول

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

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

بداية أدعوكم لقراءة المقالة التي أدرجناها في موقعنا والتي تحدثت عن الأندرويد في لمحة وما يهمنا هو المعلومات التقنية الخاصة بهذا النظام.

يتم تطوير تطبيقات الأندرويد بلغة الجافا Java ويتم تشغيلها على نواة لينوكس Linux Kernel 2.6 . ما يميز الأندرويد عن غيره هو أنه يتعامل مع جميع التطبيقات المتاحة من طرف ثالث Third Party  بنفس الأولوية المعطاة لتطبيقات النظام نفسه، وهذا ما تفتقره الأنظمة الأخرى التي تعطي أولوية لتطبيقات قلب النظام System Core  .

كل تطبيق في الأندرويد يعمل على شكل عملية مستقلة Process على نسخة مستقلة من آلة افتراضية Virtual Machine من نوع Dalvik. وللمطور كامل الصلاحية في النفاذ الى العتاد الذي يستطيع نظام التشغيل استخدامه، مما يضمن عدم تحديد أو تأطير المبرمج بأي شكل وهذا يعني انتاج تطبيقات ابداعية.

هناك نقطة تحسب لصالح تطبيقات الأندرويد وهي التسهيلات المعطاة من غووغل لمطوري التطبيقات لربط تطبيقاتهم بخدمات وتطبيقات غووغل المعروفة كـ Google Maps, Gtalk, Gmail,… وذلك لأن غووغل عضو في تحالف الـ Open Handset Alliance OHA الذي يضم شركات كبيرة منها: Google, HTC, Intel, LG, Motorla, Nvidia, Samsung, Sony Ericsson, Toshipa, Vodafone, T-Mobile, وغيرها  ومن أهم أهداف هذا التحالف تشكيل ووضع مقاييس جديدة لأجهزة الهواتف النقالة. وكان أندرويد هو أول مشروع تم الإعلان عنه من قبل هذه المجموعة.

بعد هذه المقدمة البسيطة، قد يتساءل البعض، وماهي البيئة البرمجية\التطويرية التي سنستخدمها؟ وماهي متطلبات سلسلة “تعلم برمجة تطبيقات الأندرويد”؟

الجواب أننا سنستخدم البيئة التطويرية أو ما يعرف بـ Integrated Development Environment IDE الذي نصحت به الـ OHA وهو البرنامج الشهير Eclipse. سنقوم بإضافة ملحقة Android Plug-in الى الاكليبس. كما سنقوم بتشغيل التطبيقات التي سنكتبها على المحاكي Emulator الذي يطابق تماما عمل الأندرويد على الأجهزة المتنقلة. في نهاية هذا الدرس، سنكون قد أعددنا الاكليبس ليكون قادرا على تشغيل تطبيقات الأندرويد.

بالنسبة للسؤال الثاني، تتطلب هذه السلسلة من القارىء أن يكون ملما بلغة الجافا بمستوى مبتدىء متقدم الى متوسط.

الشرح سيأخذ بعين الاعتبار مستخدمي الويندوز والماك، ولكن الصور ستكون مأخوذة من جهاز الماك خاصتي :) .

بقي التنويه على أنني لازلت أتعلم برمجة الأندرويد ولم أحترفها بعد، لذلك أعتذر مقدما إن لم يلق أحدكم جوابا عندي، ولكنني سأبذل كل الجهد في المساعدة على تحصيل الإجابة. والنقطة الثانية هي أنني كنت محتارا في كيفية تنظيم هذه السلسلة لذلك قررت الاستعانة بأحد الكتب التي تشرح برمجة الأندرويد وهو كتاب: Android: A Programmer’s Guide لمؤلفه J.F DiMarzio ودار النشر McGrawHill.

هل أنتم جاهزون؟ حسنا لنبدأ :

1- قبل كل شيء، يجب أن يكون لدينا Java Runtime Environment JRE التي تجعل تنفيذ تطبيقات الجافا ممكنا على جهاز الكمبيوتر. اذا كنت تملكها، فننصح بتحديثها لآخر إصدار JRE 6 Update 17، ولتحميل نسخة منها: http://java.sun.com/javase/downloads/index.jsp

2- الخطوة الثانية هي تحميل الاكليبس: http://www.eclipse.org/downloads/

اختر Eclipse IDE for Java Developers (92 MB) واختر النسخة المناسبة لنظام التشغيل الذي تملكه (بالنسبة للماك، اختر Cocoa).

أثناء تنصيب البرنامج، يفضل الموافقة على مكان انشاء منطقة العمل Workspace التي يقترحها الاكليبس.

3- الخطوة التالية هي تنصيب الحزمة التطويرية البرمجية للأندرويد الـ Android SDK.

قم بتحميل النسخة المناسبة من هنا: http://developer.android.com/sdk/index.html

4- علينا الآن إضافة ملحقة الأندرويد Android Plug-in الى الاكليبس. للقيام بهذه الخطوة، علينا عمل التالي: (لأجهزة الماك وحتى لو كنت تملك ويندوز، اقرأ الشرح التالي):

من قائمة Help اختر Install New Software (آخر اختيار)

اضغط على Add وأضف المعلومات التالية ثم اضغط OK:

قم باختيار ما هو موجود في الصورة أدناه:

ربما تواجهك رسالة خطأ مفادها أن الموقع المزود هو https:// وستجد خيارا يتوجب عليك تحديده يجبر الاكليبس على الاتصال بالموقع حتى لو كان https:// وليس http://.

يفترض أن تكون الملحقة قد اضيفت الى الاكليبس. الخطوة التالية هي إضافة مكان الـ SDK الى الاكليبس. من قائمة البرنامج: Eclipse>Preferences أدخل مكان ال SDK كما هو واضح في الصورة (اسم المكان يعتمد على المكان الذي حفظت به الSDK والموجود في الصورة هو المكان الذي استخدمته):

قم بإضافة المسار Path الخاص بالـ SDK كما هو مبين في الصورة في الـ Terminal:

في النسخ السابقة من الإضافة، كانت تتوفر نسخة من المحاكي Emulator حال تحميل الإضافة. ولكن النسخة الجديدة من الإضافة تأتي ومعها Android SDK and AVD Manager والذي عن طريقه يتم تحميل المحاكي. ستجدونه تحت خيار Window كما هو في الصورة:

في حال لم تجد الـ Android SDK Manager، توجه في الـ Terminal الى مجلد الSDK وتوجه الى /tools    ثم ادخل    ./android

اذهب الى خيار: Available Packages واضغط Refresh. اختر بعدها النسخة الجديدة من المحاكي وهي:

SDK Platform Android 2.0.1, API 6, revision 1

وقم أيضا باختيار:

Google APIs by Google Inc., Android API 6, revision 1

بعد الانتهاء، في نفس النافذة، أضف جهازا افتراضيا (اضغط New وادخل اسم الجهاز واختر Android 2.0.1 في خيار الـ Target ثم اختر Create AVD ) وتأكد من وجود علامة “صح” خضراء بجانبه. سترى أن نافذة جديدة ظهرت تحاكي جهاز الأندرويد المتنقل. لاحظ أن سرعة إقلاع الأندرويد على المحاكي تشابه السرعة الموجودة في الأجهزة الحقيقية.

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

لأجهزة الويندوز (لم أجربها ولكن يفترض بها أن تكون كما شرحت في الأسفل):

اتبع نفس التعليمات الموجودة في الأعلى مع مراعاة أن تحميل الإضافة Android Plug-in يتم من خيار: Help>Software Updates>Find and Install

ثم: Search for New Features to Install

ثم زر: New Remote Site وأضف معلومات الموقع المذكورة أعلاه.

اتبع الخطوات كالمذكورة أعلاه، ولإدخال مكان الـ SDK، ادخل على Window>Preferences ثم Android. ولا تنس اختيار المربع الموجود في الأسفل: Automatically Sync Projects to current SDK.

ختاما، لإضافة ال Path، اضغط زر الفأرة الأيمن على أيقونة My Computer ثم Properties. اضغط على تبويبة Advanced.

اضغط على Environment Variables ثم ابحث عن المتغير PATH تحت System Variables. أضف مكان الـ SDK ولا تنس أن “;” تفصل بين أسماء الأماكن في هذا المتغير.

عد إلى الاكليبس وحاول إيجاد Android SDK and AVD Manager في أحد القوائم واتبع نفس التعليمات أعلاه.

——–

في حال واجهتم أي مشكلة في تهيئة الاكليبس أوالإضافة أو المحاكي، لا تترددوا في طرح تساؤلاتكم هنا.

الدرس القادم، سيكون عن كيفية تشغيل بعض التطبيقات التي تأتي كأمثلة أو Samples مع الحزمة البرمجية SDK الخاصة بالأندرويد. كما سنتعرض بشكل سريع على دورة حياة تطبيق الأندرويد أو ما يعرف بـ Software Development Life Cycle SDLC. وختاما، سنتعرف على الملفات التي يتكون منها أي تطبيق أندرويدي.

بالتوفيق وتحياتي لكم!



47 عدد التعليقات

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

    بالتوفيق جميعا

    • شكراً لك وأتمنى أن نشكل نوع من التعاون في يوم من الأيام في مشاريع حقيقية. اطلعت على مدونتك وهي مميزة فعلاً.

      :)

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

  2. Royalo قال:

    ما شاء الله وبعد سلسلة ^.^
    والله الموقع ناجح جداً اتمنى بحق التوفيق لكل القائمين والكتاب في هذه المدونة الرائعه
    الله يوفقكم

    ومتابع بقوه :)

  3. الف الف شكر اخوي على الشرح الروعه كمان الي زادها روعه انه الشرح على الماك

    تم تنفيد الدروس الاول

  4. إبراهيم قال:

    تشكر أخي وائل العلواني على سلسله التدريب

    وأنا لا علاقه لي مع البرمجة لا من قريب ولا من بعيد

    ولكن عندما قرائت أن الشرح سوف يكون بالصور أسعدني ذلك

    ولكن فوجئت بأن الصور لنظام ماك فقط

    ولذلك أكتفيت بتحميل البرامج فقط

    أشكرك مره أخرى وحظ موفق لأصحاب أنظمة ماك

    • الصور مأخوذة من نظام الماك لكن النوافذ والأوامر والخيارات هي نفسها في بقية الأنظمة :)

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

        تحياتي لك..

  5. Eyad قال:

    شكرا لك اخي وائل …
    عندي استفسار بسيط ما الفرق بين الـ Mac cocao و الـ Mac Carbon

    انا اقصد الفرق بين النسختين من برنامج الاكليبس

    • أهلا بك أخي Eyad.
      الCarbon و ال Cocoa هما بيئتان برمجيتان مختلفتان لتطبيقات الماكنتوش، والاختيار بينهما هو أمر عائد للمبرمج نفسه، أي أن الفرق بينهما هو من الناحية البرمجية ولا يظهر أثره للمستخدم النهائي. في حالتنا، لا يهم أي النسختين سنستخدم كوننا سنضيف لاحقة الأندرويد ونستخدم الجافا.
      اختياري لل Cocoa سببه أنني لاحظت أن مبرمجي تطبيقات الماك يمدحون هذه البيئة بشكل أكبر من الأولى، ولغرض الاستعمال المستقبلي (ربما) قمت باختيارها..

      شكرا على سؤالك..

  6. Okbah Mushaweh قال:

    RT @Ardroid: سلسلة تعلم برمجة تطبيقات الأندرويد .. الدرس الأول http://bit.ly/7gKJqb
    #Android

  7. بارك الله فيكم قال:

    ابدااااااااااااااع – ومنتظرين باقي الحلقات

  8. خالد قال:

    رااائع أخي وائل أستمر بارك الله فيك ،،،

    سجلني أول متااابع بشغف لمواضيع البرمجه ،،،

    بالتوفيق للجميع

  9. الأخ الكريم / وائل العلواني

    حقيقة أشكرك شكراً جزيلاً على هذه السلسة المميزة و التي سأنتظرها و أتابعها أول بأول لأني تمنيت أن أجد من يساعدني على دخول عالم برمجيات الـ Android حيث أني قد درست لغة الـ C و أعمل كمصمم ومطور مواقع و مهتم جداً بهذا المجال … و أنا في انتظار المزيد

    شكراً جزيلاً

  10. ابراهيم قال:

    السلام عليكم
    سوال في الوندوز
    اذا دخلت help
    لا اجد Software
    ممكن طريقه ثاني

    • وعليكم السلام أخ ابراهيم..
      أعتذر لأن مجموعة الأوامر ظهرت في الدرس على سطرين مما جعل المشكلة التي كتبت عنها تقع.. الأوامر هي:
      Help>Software Updates>Find and Install
      اذا في قائمة Help، اختر Software Updates ومن ثم Find and Install

      تحياتي لك ومعذرة مجددا.

  11. Murad Zreiqat قال:

    مشكور يا وائل على العرض السريع والمبسط ولكي تعم وتزيد الفائده هذا رابط التحميل للكتاب الذي ذكرته سابقا:
    ANDROID A PROGRAMMERS GUIDE (Paperback)
    Jerome DiMarzio (Author)

    http://dl.vps01.postget.net/0668edffb156816f2012fb078b86ec46/93/910706/935bffd3e9d096e59a62ba079be4b117/android-a-programmers-guide.9780071599887.37303.pdf

    • شكرا لك أخ مراد على مشاركتنا بالكتاب.. ولو أنني أحبذ شراء الكتب لأسباب متعلقة بحقوق النشر :) .
      اذا كنت قد مررت على التمارين والشروحات الموجودة في الكتاب، فسوف تلاحظ اختلافا عما يطرح هنا في بعض النقاط، وستظهر واضحة في الدرس الرابع ان شاء الله، والسبب هو أن الSDK يتغير بشكل دوري حتى أن الكثير من الدوال تغيرت بشكل تام وأصبحت عملية الاعتماد على الأمثلة المطروحة في النت وحتى الكتاب تحتاج لمزيد من الوقت والجهد للتأكد من كونها متوافقة مع النسخة الأحدث من الحزمة أم لا.
      تحياتي لك أخ مراد.

  12. MEG قال:

    و لمستخدمي Linux هنا شرح مصور لتثبيت Eclipse و Google Android SDK على ubuntu
    http://www.howtoforge.com/installing-google-android-sdk1.0-on-ubuntu8.04-desktop

  13. Bader قال:

    شكرا لك , انا اتابعك بشغف

  14. [...] على حاسبه لتجربة مزايا النسخة الأخيرة من أندرويد (إضغط هنا لمعرفة الطريقة).وذكرت غوغل بأن هذه النسخة هي “إصدارة ثانوية من [...]

  15. Maz قال:

    مرحبا اخي و شكر كبير لك على الشرح و الموقع المميز جدا

    لدي سؤال من بعد اذنك

    بالنسبة للويندوز سيفن لم استطع ان اجد امر سوفتوير ابديت

    هل هناك توضيح بالنسبة لهذه النقطة

    و شكرا لك

    ساقوم بالتجريب على المكنتوش و لكن استخدام الماكنتوش لدي يتم في العمل فقط و احب ان يكون تطبيقي على الويندوز سيفن ايض

    شكرا لك

    • أهلا بك أخ Maz.. :)

      بالنسبة لخيار سوفتوير أبديت، ستجده في برنامج الاكليبس.. بمعنى أن الجملة التالية من الارشادات:
      Help>Software Updates>Find and Install
      يتم تطبيقها داخل برنامج الاكليبس، وليس الويندوز..

      بالتوفيق أخي الكريم..

  16. Maz قال:

    لاحظت هذا البارحة اعذرني

    يبدو اني كنت محشش انبارح زيادة عن اللزوم

    حاليا اجرب الطريقة على الماكنتوش

  17. Maz قال:

    معلم بالنسبة لاوبديت الجافا
    JRE 6 Update 17
    من شان الماكنتوش شو النسخة اللي لازم ننزلها لاني ما لقست من ضمن الانظمة الموجودة ماكنتوش

    و شكرا لمساعدتك

  18. Maz قال:

    نجحت الطريقة معي عالماكنتوش و التوزيعة اندرويد 2.1

    شكرا لتعاونك ^^

    هل من الممكن تنصيب البرامج على هذه النسخة ؟

  19. Maz قال:

    شكرا لردك السريع اخي وائل

    لقد قمت بتحميل باقة كبيرة من البرامج ذات الامتداد .apk منذ قليل و اسعدتني بردك هذا

    و لكن اين اجد الامر adb install . و شكرا لك و اسف علي الازعاج

  20. Bader قال:

    يظهر لي خطأ عند محاولتي لتركيب اداة الاندرويد في الصورة رقم 3

    • Bader قال:

      Error Massage: Install has encountered a problem.
      an error occurred while collecting items to be installed

      ???????

      • أهلا Bader..

        ذكرت في أسفل الصورة الثالثة احتمال ظهور خطأ:
        ربما تواجهك رسالة خطأ مفادها أن الموقع المزود هو https:// وستجد خيارا يتوجب عليك تحديده يجبر الاكليبس على الاتصال بالموقع حتى لو كان https:// وليس http://.

        اذا لم تكن هذه المشكلة، فربما تكون قد اخترت نسخة قديمة وليست حديثة.

  21. ahmed قال:

    انا اريد ان اعرف هل تطبيقات الاندرويد تتم عن طريق لغة Java SE ام بــ Java EE

  22. لو سمحت انا استخدم ويندوز وما لقيت بقائمة Help (بالاكليبس) خيار Software Updates
    فيه خيار Check for updates بس

  23. مبرمجة قال:

    السلام عليكم و رحمة الله

    الدرس روعة

    بس سؤال ؟ هل ممكن برمجة اأندرويد عن طريق لغة السي شارب دوت نت كوني محترفة فيها ؟؟

    و شكرا

    • Eyad قال:

      للأسف ليس بامكانك ذلك … لأن الاندرويد يستخدم نظام اللينكس …

    • أهلا بك مبرمجة..
      نعم يمكنك ذلك، و كل الشكر لمشروع مونو Mono Project.. تابعي هذا الفيديو لتري كيفية تشغيل كود hello world مكتوبا بالسي شارب “ولكن يعيبه البطء الواضح” :
      http://rb6.me/6787

      ولمعرفة كيفية تركيب مشروع مونو وبنائه تحت بيئة تطوير الأندرويد، اتبعي هذه الوصلة:
      http://rb6.me/6788

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

      تحياتي لك.

  24. ريم قال:

    السلام عليكم ..
    كل الشكر لكم ولجهودكم المبذولة بالموقع بارك الله فيكم …

    لدي استفسار عن الخطوة الموضحة في الصورة التالية :
    http://ardroid.com/wp-content/uploads/2009/12/Screen-shot-2009-12-29-at-11.47.50-AM.png

    بعد تعيين مكان الـ SDK
    لم يظهر لي أي
    target name

    لا اعلم ما السبب تحديداً ؟

  25. sraya قال:

    السلام عليكم اخي ماشالله دروس اكثر من رائعة متابع سابق لمدونتك
    لكن واجهتني مشكلة عندما اقوم بتنفيذ كل المطلوب واصل لمرحلة تشغيل نسخة افتراضية من الجهاز على الكمبيوتر
    ما تشتغل بالكامل بالمعنى انه تعلق على كلمة اندرويد وما يشتغل
    وانا في نقطة واجهتني فيها بعض الاختلاف عنك اتوقع انها المشكلة
    وهي الخطوة التالية:::
    اذهب الى خيار: Available Packages واضغط Refresh. اختر بعدها النسخة الجديدة من المحاكي وهي:

    SDK Platform Android 2.0.1, API 6, revision 1

    وقم أيضا باختيار:

    Google APIs by Google Inc., Android API 6, revision 1

    حيث اني لم اجد الخيار الثاني وعندي عدد كبير من الخيارات والصورة للتوضيح
    http://img517.imageshack.us/i/capture1h.png/
    http://img195.imageshack.us/i/capture2iz.png/

ضع تعليقك

* الاسم, البريد الالكتروني والتعليق هي حقول إلزامية.

إعلانات

إشترك بالنشرة البريدية

أدخل بريد الالكتروني للحصول على جديد الموقع:

أردرويد كاست

أردرويد كاست

بودكاست أسبوعي يناقش آخر أخبار نظام وهواتف أندرويد بشكل شامل وممتع. تستطيع الحصول على آخر الحلقات فورَ بثّها مباشرةً إلى برنامج تشغيل الميديا المفضل لديك عن طريق الاشتراك بالتغذية الإخبارية الخاصة بالبودكاست. إضغط هنا.

أرشيف المواضيع

إعلانات

بوابة الأخبار التقنية ... أخبار تقنية طازجة أخبار الجوال Blogs Robot مصروفي .. لإدارة الموارد المالية الشخصية