ج 1 – مدخل إلى عالم اﻷندرويد
هذة مجموعة من الموضوعات اقوم باعداها لمسودة لكتابي الأول بإذن الله (مدخل إلى عالم الأندرويد)
أدعو الله عز و جل أن يعينني على الأنتهاء منه في اقرب وقت

مقدمة :
سواء كنت مبرمج محترف او هاوي مبرمج تطبيقات انترنت او تطبيقات سطح المكتب فأنت مدعو لان تنال فرصه جديده تجعلك تعزف اجمل مقطوعات الأكواد في حياتك على الأجهزة الكفية او المحمولة
أندورد : (انسان آلي)
المعنى الحرفي للكلمه هو إنسان آلي وهذا نسبه إلى الرمز الخاص بالمنتج , حيث اصدرت جوجل اندوريد على غير المتوقع – على الرغم انه مع جوجل لا يوجد شيء غير متوفع – نظام لتشغيل الأجهزة المحمولة.
كل ما يتوجب عليك فعلة هو ان يكون لديك خلفية ليست بالكبيرة عن لغة الجافا و اساسيات الكتابه فيها فإن كنت كذلك فاهلا بك في العالم الامحدود من الصلاحيات !!
جوجل الشركة الأم :
على اختلاف الآراء و وجهات النظر فإن جوجل تستحق ان يطلق عليها اسم الشركة الام – على حد تعبيري – و ذلك بسبب كمية الخدمات التي تقدمها لمستخدميها في كل انحاء العالم من اول خدمات البربد إلى ان اعلنت مؤخرا عن انها تفكر و بصورة رسمية في عمل نظام تشغيل خاص بها , فماذا ننتظر من جوجل بعد هذا إلا ان ادخل على جوجل و اسال عن مكان وجود هاتفي المحمول او عن مفاتيحي التي ضاعت مني عشية البارحة عندما كنت مع اصداقئي !!؟؟
نظرة سريعة على الماضي :
منذ وقت ليس بالبعيد جدا كان مبرمجي الأجهزة المحمولة يستخدمون لغات الـ C / C++ وذلك للتمكنهم من برمجة هذة الأجهزة و الوصول لخصائص الجهاز خاصة التعامل مع العتاد (Hardware) وبالتالي كانت العملية صعبة كما انه مثل هذة العمليات لم تكن متاحه للمبرمجين بصورة عامة.
مع تطور الزمن اصبحت برمجة الاجهزة الكفية أكثر سهولة حيث استطاع المبرمجين تكوين مجموعة من الواجهات (APIs -Application programming interface) التي استخدمها في الوصو إلى العتاد إلا ان هذة الواجهات ذات سمعة سيئة لانها لم تكن تعمل بكفائة عالية و إن كانت تعمل فهي متوافقه مع مجموعة محدودة من الأجهزة فقط, كأن تقوم ببرمجة تطبيق للعمل مع ( Global Positioning System- GPS) فإنه من الصعب ان يكون متوافق مع عدد كبير من الاجهزة و ذلك لاختلاف خواص كل جاهز عن الآخر.
بدأت العديد من منصات التشغيل (Platforms) في الظهور مثل Symbain فأصبحت عملية برمجة الأجهزة الكفية سريعة و بسيطه و لا تستدعي إلى ان تتعلم استخدام بعض الواجهات (APIs) إلا ان ثمن سهولة الوصول للعتاد عن طريق هذة الواجهات كان في مقابلة تحجيما بصورة كبيرة فأصبح الوصول إلى العتاد و التحكم فيه عن طريق هذة الواجاهت فقط فلك ان تتخيل كيف اصبحت العملية محدودة.
المستقبل :
عادة لا اكون منحازا لفكرة ما ولكن هذة المرة فانا موقن بأن اندوريد هو اتجاه بدأته جوجل وسف يستمر في الكبر إلا ان تتيعها العديد من الشركات .
اندوريد هو نظام تشغيل لاجهزة المحمولة مفتوح المصدر من عن طريق مجموعة الواجهات المرفقه معه تستطيع الوصول و برمجة العتاد الذي ترغب في التعامل معه باي صورة احببت , بالاضافة إلى انه اصبح ومنذ فترة قريبه مع بيئة التظوير الخاصه به في اصدارتها الـ 1.5 تستطيع برمجه برامج تعمل على الجهاز وكأنها من ضمن البرامج الاصلية له(Native Applications) أضف إلى كا ما سبق ان اندوريد كنظام تشغيل مبنى بصورة اساسية على نواة اللنكس !!

مميزات بيئة تطوير اندرويد 1.5
Android SDK 1,5 Features
بيئة التطوير : يقصد بها المحاكي الذي تقوم باختبار التطبيقات التي تقوم ببرمجتها عليه
1- مجانية استخدام و تعديل بيئة العمل
2- دعم الوصول للعتاد الخاص بالشكبة الاسلكية WiFi
3- ارسال و استقبال المكالمات والرسائل القصيرة و المعلومات
4- مجموعة من الواجهات الكاملة للتعامل مع العتاد الخاص بتحديد المكان GPS
5- تحكم واسع في العتاد الخاص بالوسائط المتعددة من التقاط الصور و تسجيل الفيديو و استخدام الميكوروفن
6- واجهات للتعامل مع الحساسات Sensors
7- دعم الوصول إلى بطاقة الذاكرة
8- متصفح مفتوح المصدر
9- دعم كامل للتعامل مع تطبيقات جوجل الخاصة بالخرائط
10 – مجموعة مكتبات جاهزة للتعامل مع GoogleTalk
11- دعم للرسوميات ثلاثية الابعاد باستخدام OpenGL
لماذا ابرمج لاندوريد دونا عن غيره ؟!!
إذا كنت مبرمج سابق للاجهزة المحمولة فانت لست بحاجه لان اخبرك انه كل ما تستطيع برمجته باستخدام اندرويد تستطيع برمجتة باستخدام ايا من الادوات الموجودة في عالم برمجة الموبيل مع فرق العب الكثير الذي سوف تبذلة مع هذة الاداوات الأخرى … و قد لا تصل في النهاية !!
حيث تقدم جوجل نظام نظيف مع بيئطة تطوير بسيطه جدا في التعامل معها,قويه جدا من حيث المضمون و المكونات و النتائج و يتضمن معها توثيق شامل لجميع المكتبات المستخدمة في برمجة النظام.
ماذا احتاج لكي ابدأ ؟
نظام تشغيل :
1- ويندوز XP, VESTA
2- ماك 10.4.8 أو ما بعده
3- لنكس
بيئة تطوير :
1- اندوريد SDK
وهو مجموعة المكتبات التي تقدمها جوجل للمطورين لتمكنهم من برمجة النظام و يمكن تحمليها من هنا
http://developer.android.com/sdk/1.5_r2/index.html
فم بتحميل الإصدارة المتوافقة مع نظام تشغيلك و العتاد الخاص بك
http://java.sun.com/javase/downloads/index.jsp

أنصح بتحميل هذة الإصدارة
Pulsar for Mobile Java Developers
حيث انها اعدت خصيصا لبرمجة الأجهزة المحمولة كما انني قد اعتمدت عليها في شرح كيفية تنصيب الإضافة (ADT) و هي مبنية على Eclipse 3.5
حمل من هنا http://www.eclipse.org/downloads/
أما إذا كنت تستعمل Eclipse مسبقا فلست بحاجه لهذة الإصدارة ولكن قد تكون عملية تنصيب الإضافة ADT مختلفة لديك بعض الشئ سوف يتضح ذلك خلال الشرح .
اعتاد مستخدمي Eclipse على امكانية الاتصال او برمجة اي لغة كانت طالما ان الشركة المراد استخدام ادواتها تقدم دعماً لـلـ Eclipse , ويكون هذا الدعم في صورة مجموعة من الإضافات مثل إضافات الفيرفوكس .
سوف نقوم باستخدام ADT – Android Developent Tool – وهي الإضافة المسؤولة عن توليف بيئة عمل الأندوريد مع Eclipse
تضم هذة الإضافى العديد من المميزات من اهمها :
1- سهولة إنشاء مشروع جديد عن طريق بضع ضغطات من الماوس بالإضافة لوجود مثال جاهز مع المشروع الجديد للتأكد من عمله بصورة جيدة.
2- يمكنك تحرير جميع انواع الملفات التي سوف تقوم بالكتابة عليها مثل ملفات الـ XML مثلا و لديك العديد من الخيرات في طريقة عرضها.
3- تقوم الاضافة بالحزم الآلي للبيانات في صورة ملف تشغيل خاص بالأندوريد بامتداد .apk مثل الـ .exe
الخاص بالوندوز.
4- يدعم المحاكي اتصال بشبكة الانترنت عن طريق اتصال جهازك بها.
5- دعم المحاكي لارسال و استقبال الرسائل القصيرة و المكالمات و ذلك لسهولة معرفة رد فعل التطبيق الذي تبرمجة عند حدوث اي حدث خارجي.
6- من اهم الأدوات التي سوف تتطرق لاستعمالها و هي ال DDMS – Dalvik Debug Monitoring Service- و هي آداة متابعة الأله الوهميه DVM
ملحوظة : DVM هي الوجه الآخر للـ JVM ولكنها الآله الوهميه الخاصة بالاندوريد.
7- دعم الوصول إلى ملفات النظام الاساسية في المحاكي.
8- امكانية تصحيح الأخطاء في وقت التشغيل RTD – Run Time Debuging – .
9- يتم حفظ جميع التغيرات الحادثة في كل جزء من البرنامج و الآله الوهمية في مجموعة من ملفات الـ log حيث يتاح للمبرمج الاطلاع عليها و معرفة مكان الخطأ.
عملية إعداد البيئة للعمل :
بعد ان تقوم بتنصيب كل المتطلبات من بيئة الجافا (JDK) و المحرر (Eclipse) قم بفك الـ SDK في المجلد الخاص بك كالـ Home Directory او غيره و بعدها قم بفتح Eclipse
1- إضافة ADT
Help >> Install New Software

Add

قم بملئ الحقول باسم الإضافة و اللينك الخاص بها

Name : ADT
Location :
https://dl-ssl.google.com/android/eclipse/
انتظر قليلاً حتى تنتهي عملية الـ Fechting

قم باختيار
Developer Tools

Next

اقرأ الاتفاقية و اذا وافقت عليها قم بالاختيار كما هو موضح بالصورة


بعد الانتهاء من عملية التنصيب ينصح باعادة تشغيل المحرر

الآن و قم تمت عملية تنصيب الاضافة بسلام سوف نقوم بحديد مسار الـ SDK
2- تحديد مسار الـ SDK
Windows >> Preferences

اختار Android من القائمة على اليسار و من ثم قم بتحديد المسار الخاص بمجلد الـ SDK


ثم اضغط OK
في الوقت الحالي وقد وصلت إصدارة الـ SDK إلى 1.5 فسوف تجد ان الملف الذي قمت بتنزيله يحوي الإصدارتين 1.1 و 1.5 فيتوجب عليك إنشاء محاكي جديد و تحديد اي اصدارة يحمل و ايضا اسمه و كذا به بطاقة ذاكرة و تحديد مسارها وذلك عن طريق
Windows >> Android AVD Manager


قمت انا بإدخال البيانات التالية
Name : MyAndro
Target : Android 1.5
Skin : HVGA
ملحوظة : الـ Skin هو شكل الجهاز او طريقه عرضة ودورانه سواء افقي او راسي
وبهذا تكون البيئة مستعدة و بصورة كاملة للعمل
أهلا بك في العالم الجديد :
ما رأيك بعد كل هذا التعب ان تستمتع .. و ترى المحاكي و تبدأ في برمجة التطبيقات
File >> New >> Project >>Android >> Android Project

قم بملئ البيانات كما هو موضح

في النهاية فقط اذهب
Run >> Run As >> Android Application

وبهذا نكون قد اتهينا من إعداد البيئة و تطبيق أول مثال على المحاكي
——————————————————————
يستكمل
July 10, 2009 - 10:52 pm
شكراً لك على هذه المقالة، شجعتني كثيراً على الدخول في عالم تطبيقات أندرويد الجديد والمغري فعلاً
وإن شاء الله بالتوفيق في إتمام كتابك الأول ونشره
تحيتي لك
July 11, 2009 - 12:07 am
شكراً عزيزي حجازي على ردك الجميل
وادعوا الله ان بوفقك لبداية جيدة في عالم الأندريد
تابع معنا و ستستفيد بإذن الله
July 11, 2009 - 11:08 am
اخى العزيز يحى .. ما شاء الله عليك… الله معك ….ويلا شد حيلك وان شاء الله من نجاح الى نجاح…
July 11, 2009 - 11:43 am
عزيزي خالد الشيخ
سرني تواجدك هنا
أشكرك على تعليقك الرائع
July 11, 2009 - 7:38 pm
ما شاء الله تبارك الله.. بداية موفقة أخي..
كنت قد بدأت بالفعل بإعداد بيئة الأندرويد والعمل عليه قبل أشهر لكني توقفت في بادية الطريق للإنشغال بامور أخرى وللتشتت الفارط..
وأنا معك.. البرمجة هنا ممتعة لأقصى الحدود والتوثيق والدعم كبيران ومتوفران..
ماذا عن دعم العربية المتضاربة الأخبار بشانه؟
كل التوفيق اخي
July 11, 2009 - 7:55 pm
أهلا بك عزيزي عقبة
فعلا التوثيق و الدعم هما مفتاح حياة هذا النظام كما قلت .. عن اللغة العربية فبالأمس فقط وجدت مشروع للكتابة بالغة العربية وقد استطاعوا الكتابة ولكن بصورة متقطعة
يعني مثلا السلام عليكم
ا ل س ل ا م ع ل ي ك م
يمكنك ان تجدهم هنا
https://sites.google.com/a/ut.utm.edu/arabicandroid/
أما عن قصه دعمه بصورة اساسية في النظام فأرجو ان يكون ذلك في التحديثه التالية للنظام 2.0 ولكن بالنظر إلى هذة الصفحه
https://sites.google.com/a/ut.utm.edu/arabicandroid/android-native-arabic-support
سوف تجد ان الموضوع سبق الإعداد له من قبل مجموعة مطوري اندرويد
أهلا بك عزيزي معنا ..
July 11, 2009 - 9:56 pm
لا أعتقد أن دعم العربية في أندرويد أمر بالغ الصعوبة، على الأقل يمكن برمجة مكتبة لكتابة النصوص العربية بشكل صحيح حتى تستخدم في بناء التطبيقات.
أرجو أن أجد وقتاً حتى أدخل في هذا المجال قريباً فأنا متشوق فعلاً للعمل فيه
September 16, 2009 - 8:56 am
اذا كل هذا تفتهم . ليش ما تحل مشكلة العربية .
شكرا
October 28, 2009 - 3:03 am
أولاً شكراً لتعبك
ثانياً : واجهتنى مشكلة
فى الخطوة دى :
في الوقت الحالي وقد وصلت إصدارة الـ SDK إلى 1.5 فسوف تجد ان الملف الذي قمت بتنزيله يحوي الإصدارتين 1.1 و 1.5 فيتوجب عليك إنشاء محاكي جديد و تحديد اي اصدارة يحمل و ايضا اسمه و كذا به بطاقة ذاكرة و تحديد مسارها وذلك عن طريق
Windows >> Android AVD Manag
انا لما ضغطت وندوز ظهرت android sdk and AVD manager ليس كما عندك
الى ظهر عندى شتشة على الشمال فى virtual devices
Installed packages
Avilable packages
اخار ايه منهم
و غير كده فى حاجة غريبة
من تحت ف سطرين واحد عليه صح و التانى غلط
الأول : A valid android virtual device
الثانى : An android virtual device that faild to load click details to see error.
و للاسف detail مش منشطة
و فى النصف فى
AVD name targetnake platform
تحت targetname
مكتوب no AVD avilable
انا تجاهلت الخطوة دى لما لقيتها مش مظبطة
و روحت طبقت خطوات عمل مشروع كما قلت
ثم ذهبت ل run >>run as مش فى خالص اندرويد ابليكاشين
غير كده لما فتحت الكود بيبقى معترض على
import android.app.Activity;
import android.os.Bundle;
ممكن توضحلى المشكلة
و شكرا جدا
October 28, 2009 - 11:16 pm
Hejazi
أشكر لك تفاعلك و أظن المشكلة في طريقها إلى الحل في خلال السنة القادمة إن شاء الله
المستر
ربنا يوفق الجميع
بيشوي
منذ فترة طويلة جدا وا ان منقطع عن الكود و ادعو الله ان اعود للأندرويد سريعاً .. و اذا اتخذت قرارك للعمل اي تطبيق خاص بالأندوردي في مشروع تخرجك بإذت الله سوف اكون لك خير معين
بخصوص انه يعترض على الأكواد فانصحك بعمل حذف كامل لكل بيئة التطوير و إعادة التنصيب كما ذكرتها بالظبط وعلى الرغم من تغير الاصدارات فإن اللينك الخاص بتحمل الـ ADT ثابت ولم يتغير
اتمنى لكم من الله التوفيق و في انتظارك
May 31, 2010 - 6:05 am
لدي جهاز و عندما اقوم بشبكه الى جهاز الكمبيوتر عن طريق وصله يطلب من تعريفي للجهاز و عندما ابحث عنه خلال الانترنت يقول انه لا يوجد تعريق ارجو المساعده
May 31, 2010 - 6:45 am
أبشر أخي الغالي
أرجو ان تخبرني على اي نظام تشغيل تعمل
وهل هو
32 bit
أم
64 bit