بسم الله الرحمن الرحيم

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

صورة

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

أندورد : (انسان آلي)
المعنى الحرفي للكلمه هو إنسان آلي وهذا نسبه إلى الرمز الخاص بالمنتج , حيث اصدرت جوجل اندوريد على غير المتوقع – على الرغم انه مع جوجل لا يوجد شيء غير متوفع – نظام لتشغيل الأجهزة المحمولة.

كل ما يتوجب عليك فعلة هو ان يكون لديك خلفية ليست بالكبيرة عن لغة الجافا و اساسيات الكتابه فيها فإن كنت كذلك فاهلا بك في العالم الامحدود من الصلاحيات !!

جوجل الشركة الأم :
على اختلاف الآراء و وجهات النظر فإن جوجل تستحق ان يطلق عليها اسم الشركة الام – على حد تعبيري – و ذلك بسبب كمية الخدمات التي تقدمها لمستخدميها في كل انحاء العالم من اول خدمات البربد إلى ان اعلنت مؤخرا عن انها تفكر و بصورة رسمية في عمل نظام تشغيل خاص بها , فماذا ننتظر من جوجل بعد هذا إلا ان ادخل على جوجل و اسال عن مكان وجود هاتفي المحمول او عن مفاتيحي التي ضاعت مني عشية البارحة عندما كنت مع اصداقئي !!؟؟

نظرة سريعة على الماضي :
منذ وقت ليس بالبعيد جدا كان مبرمجي الأجهزة المحمولة يستخدمون لغات الـ 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

2- Java SE Development Kit – JDK

فم بتحميل الإصدارة المتوافقة مع نظام تشغيلك و العتاد الخاص بك
http://java.sun.com/javase/downloads/index.jsp

3- Eclipse

صورة
أنصح بتحميل هذة الإصدارة
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

صورة

وبهذا نكون قد اتهينا من إعداد البيئة و تطبيق أول مثال على المحاكي

——————————————————————

يستكمل