تتطرق هذه السلسلة التعليمية لأحد أهم أنظمة تشغيل الأجهزة الكفية والمحمولة الذي بدأ يبرز نجمه مؤخرا وهو نظام الأندرويد. أندرويد يقدم للمطورين بيئة تطوير قوية وغير محدودة، وإن كنت متشوقا لبدء تطوير البرامج لأندرويد، أو لديك الحماس لتجرب كيف تجري تلك العملية حتى لو كان هذا على سبيل التجربة العلمية، فسلسلة الدروس هذه سوف تساعدك خطوة بخطوة كي تنطلق بسرعة إلى عالم تطوير التطبيقات لأندرويد.
سنتعلم برمجة التطبيقات 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 عدد التعليقات
شكرا وائل على السلسة المميزة، و التي سأكون بانتظارها! والشكر كذلك للقائمين على الموقع المميز
وأتمنى أن نرى مشاريعكم على أرض الواقع قريبا بإذن الله.
وهنا أمل أن تقبلوا مساعدتي لكم في حال احتجتم لشخص مولع بالعتاد أو الإلكترونيات إذا أحببتم برمجة تطبيقات تستخدم متحكمات دقيقة متصلة بنظام أردرويد.
بالتوفيق جميعا
شكراً لك وأتمنى أن نشكل نوع من التعاون في يوم من الأيام في مشاريع حقيقية. اطلعت على مدونتك وهي مميزة فعلاً.
أهلا بك عزيزي وصديقي وسيم.. وشكرا على تعليقك..
سيكون هذا الموقع مكانا لانطلاق عدة مشاريع في المستقبل القريب بإذن الله.. وشكرا لك على العرض المميز الذي قدمته، وقد أثرت اهتمامي لهذا النوع من المشاريع..
تحياتي لك (معذرة على التأخر، كنت في رحلة سفر اضطرارية).
ما شاء الله وبعد سلسلة ^.^
والله الموقع ناجح جداً اتمنى بحق التوفيق لكل القائمين والكتاب في هذه المدونة الرائعه
الله يوفقكم
ومتابع بقوه
شكرا لك Royalo على مشاعرك..
بالتوفيق
الف الف شكر اخوي على الشرح الروعه كمان الي زادها روعه انه الشرح على الماك
تم تنفيد الدروس الاول
أهلا بك
استعد للدرس الثاني قريبا ان شاء الله.. مع التحية لكل الماك يوزرز..
تشكر أخي وائل العلواني على سلسله التدريب
وأنا لا علاقه لي مع البرمجة لا من قريب ولا من بعيد
ولكن عندما قرائت أن الشرح سوف يكون بالصور أسعدني ذلك
ولكن فوجئت بأن الصور لنظام ماك فقط
ولذلك أكتفيت بتحميل البرامج فقط
أشكرك مره أخرى وحظ موفق لأصحاب أنظمة ماك
الصور مأخوذة من نظام الماك لكن النوافذ والأوامر والخيارات هي نفسها في بقية الأنظمة
كلام الأخ أنس صحيح أخي ابراهيم.. وقد حاولت الإشارة الى بعض الفروقات الموجودة بين هذين النظامين، وفي نهاية الأمر، فهمك للغرض من تنفيذ كل خطوة في الشرح، سيمكنك من عملها بكل بساطة بوجود أو بدون وجود هذه الفروقات الطفيفة..
تحياتي لك..
شكرا لك اخي وائل …
عندي استفسار بسيط ما الفرق بين الـ Mac cocao و الـ Mac Carbon
انا اقصد الفرق بين النسختين من برنامج الاكليبس
أهلا بك أخي Eyad.
الCarbon و ال Cocoa هما بيئتان برمجيتان مختلفتان لتطبيقات الماكنتوش، والاختيار بينهما هو أمر عائد للمبرمج نفسه، أي أن الفرق بينهما هو من الناحية البرمجية ولا يظهر أثره للمستخدم النهائي. في حالتنا، لا يهم أي النسختين سنستخدم كوننا سنضيف لاحقة الأندرويد ونستخدم الجافا.
اختياري لل Cocoa سببه أنني لاحظت أن مبرمجي تطبيقات الماك يمدحون هذه البيئة بشكل أكبر من الأولى، ولغرض الاستعمال المستقبلي (ربما) قمت باختيارها..
شكرا على سؤالك..
RT @Ardroid: سلسلة تعلم برمجة تطبيقات الأندرويد .. الدرس الأول http://bit.ly/7gKJqb
#Android
ابدااااااااااااااع – ومنتظرين باقي الحلقات
رااائع أخي وائل أستمر بارك الله فيك ،،،
سجلني أول متااابع بشغف لمواضيع البرمجه ،،،
بالتوفيق للجميع
أهلا بك أخي خالد
الأخ الكريم / وائل العلواني
حقيقة أشكرك شكراً جزيلاً على هذه السلسة المميزة و التي سأنتظرها و أتابعها أول بأول لأني تمنيت أن أجد من يساعدني على دخول عالم برمجيات الـ Android حيث أني قد درست لغة الـ C و أعمل كمصمم ومطور مواقع و مهتم جداً بهذا المجال … و أنا في انتظار المزيد
شكراً جزيلاً
أهلا بك أخي محمد نبيل وشكرا على تعليقك.
سأعمل على أن تكون هذه السلسلة بسيطة ومفيدة لجميع المهتمين بالAndroid. تحياتي لك
السلام عليكم
سوال في الوندوز
اذا دخلت help
لا اجد Software
ممكن طريقه ثاني
وعليكم السلام أخ ابراهيم..
أعتذر لأن مجموعة الأوامر ظهرت في الدرس على سطرين مما جعل المشكلة التي كتبت عنها تقع.. الأوامر هي:
Help>Software Updates>Find and Install
اذا في قائمة Help، اختر Software Updates ومن ثم Find and Install
تحياتي لك ومعذرة مجددا.
مشكور يا وائل على العرض السريع والمبسط ولكي تعم وتزيد الفائده هذا رابط التحميل للكتاب الذي ذكرته سابقا:
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 يتغير بشكل دوري حتى أن الكثير من الدوال تغيرت بشكل تام وأصبحت عملية الاعتماد على الأمثلة المطروحة في النت وحتى الكتاب تحتاج لمزيد من الوقت والجهد للتأكد من كونها متوافقة مع النسخة الأحدث من الحزمة أم لا.
تحياتي لك أخ مراد.
و لمستخدمي Linux هنا شرح مصور لتثبيت Eclipse و Google Android SDK على ubuntu
http://www.howtoforge.com/installing-google-android-sdk1.0-on-ubuntu8.04-desktop
شكرا لك , انا اتابعك بشغف
[...] على حاسبه لتجربة مزايا النسخة الأخيرة من أندرويد (إضغط هنا لمعرفة الطريقة).وذكرت غوغل بأن هذه النسخة هي “إصدارة ثانوية من [...]
مرحبا اخي و شكر كبير لك على الشرح و الموقع المميز جدا
لدي سؤال من بعد اذنك
بالنسبة للويندوز سيفن لم استطع ان اجد امر سوفتوير ابديت
هل هناك توضيح بالنسبة لهذه النقطة
و شكرا لك
ساقوم بالتجريب على المكنتوش و لكن استخدام الماكنتوش لدي يتم في العمل فقط و احب ان يكون تطبيقي على الويندوز سيفن ايض
شكرا لك
أهلا بك أخ Maz..
بالنسبة لخيار سوفتوير أبديت، ستجده في برنامج الاكليبس.. بمعنى أن الجملة التالية من الارشادات:
Help>Software Updates>Find and Install
يتم تطبيقها داخل برنامج الاكليبس، وليس الويندوز..
بالتوفيق أخي الكريم..
لاحظت هذا البارحة اعذرني
يبدو اني كنت محشش انبارح زيادة عن اللزوم
حاليا اجرب الطريقة على الماكنتوش
معلم بالنسبة لاوبديت الجافا
JRE 6 Update 17
من شان الماكنتوش شو النسخة اللي لازم ننزلها لاني ما لقست من ضمن الانظمة الموجودة ماكنتوش
و شكرا لمساعدتك
أهلين Maz..
لم يعد بالإمكان تحميل التحديث مباشرة من موقع Java بالنسبة لأنظمة الماك، انما يتوجب عليك عمل Software Update من Apple Menu وسيتم جلب التحديث. يبدو أن Apple تستخدم نسخة خاصة من ال JDK لذلك لا يتم إتاحتها على موقع Java.
http://support.apple.com/kb/HT1338?viewlocale=en_US
نجحت الطريقة معي عالماكنتوش و التوزيعة اندرويد 2.1
شكرا لتعاونك ^^
هل من الممكن تنصيب البرامج على هذه النسخة ؟
أهلا بك من جديد
نعم يمكنك ان كنت تملك نسخة من التطبيق بامتداد .apk حيث يمكنك رفعها الى المحاكي باستخدام أمر adb install .
شكرا لردك السريع اخي وائل
لقد قمت بتحميل باقة كبيرة من البرامج ذات الامتداد .apk منذ قليل و اسعدتني بردك هذا
و لكن اين اجد الامر adb install . و شكرا لك و اسف علي الازعاج
لا إزعاج ولا شي
طيب.. أمر adb install هو أمر يتم ادخاله عبر ال Terminal حيث يتم التحكم بالمحاكي عبره وليس عبر الاكليبس. ويمكنك الاستعانة بهذا المصدر:
http://developer.android.com/guide/developing/tools/adb.html
يظهر لي خطأ عند محاولتي لتركيب اداة الاندرويد في الصورة رقم 3
Error Massage: Install has encountered a problem.
an error occurred while collecting items to be installed
???????
أهلا Bader..
ذكرت في أسفل الصورة الثالثة احتمال ظهور خطأ:
ربما تواجهك رسالة خطأ مفادها أن الموقع المزود هو https:// وستجد خيارا يتوجب عليك تحديده يجبر الاكليبس على الاتصال بالموقع حتى لو كان https:// وليس http://.
اذا لم تكن هذه المشكلة، فربما تكون قد اخترت نسخة قديمة وليست حديثة.
انا اريد ان اعرف هل تطبيقات الاندرويد تتم عن طريق لغة Java SE ام بــ Java EE
أهلا أحمد..
Java SE..
تحية
لو سمحت انا استخدم ويندوز وما لقيت بقائمة Help (بالاكليبس) خيار Software Updates
فيه خيار Check for updates بس
السلام عليكم و رحمة الله
الدرس روعة
بس سؤال ؟ هل ممكن برمجة اأندرويد عن طريق لغة السي شارب دوت نت كوني محترفة فيها ؟؟
و شكرا
للأسف ليس بامكانك ذلك … لأن الاندرويد يستخدم نظام اللينكس …
أهلا بك مبرمجة..
نعم يمكنك ذلك، و كل الشكر لمشروع مونو Mono Project.. تابعي هذا الفيديو لتري كيفية تشغيل كود hello world مكتوبا بالسي شارب “ولكن يعيبه البطء الواضح” :
http://rb6.me/6787
ولمعرفة كيفية تركيب مشروع مونو وبنائه تحت بيئة تطوير الأندرويد، اتبعي هذه الوصلة:
http://rb6.me/6788
بالنسبة لك كمبرمجة محترفة، أعتقد أن التعرف الى الجافا لن يكون بالصعب عليك، مجرد مسألة التعرف الى الSyntax. لأنه كما ترين مشروع المونو يعمل ولكنه بطيء جدا.
تحياتي لك.
السلام عليكم ..
كل الشكر لكم ولجهودكم المبذولة بالموقع بارك الله فيكم …
لدي استفسار عن الخطوة الموضحة في الصورة التالية :
http://ardroid.com/wp-content/uploads/2009/12/Screen-shot-2009-12-29-at-11.47.50-AM.png
بعد تعيين مكان الـ SDK
لم يظهر لي أي
target name
لا اعلم ما السبب تحديداً ؟
تم حل المشكلة
كان يجب علي تعديل أحد الخيارات في الـ settings الخاصة بـ Android SDK and AVD manager
السلام عليكم اخي ماشالله دروس اكثر من رائعة متابع سابق لمدونتك
لكن واجهتني مشكلة عندما اقوم بتنفيذ كل المطلوب واصل لمرحلة تشغيل نسخة افتراضية من الجهاز على الكمبيوتر
ما تشتغل بالكامل بالمعنى انه تعلق على كلمة اندرويد وما يشتغل
وانا في نقطة واجهتني فيها بعض الاختلاف عنك اتوقع انها المشكلة
وهي الخطوة التالية:::
اذهب الى خيار: 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/
السلام عليكم خلاص انا حليت مشكلتي وننتقل للدرس التاني