10يوليو

ج 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

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

صورة

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

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

يستكمل

شارك التدوينة !

عن Mr.Xprt

12 تعليق

  1. شكراً لك على هذه المقالة، شجعتني كثيراً على الدخول في عالم تطبيقات أندرويد الجديد والمغري فعلاً
    وإن شاء الله بالتوفيق في إتمام كتابك الأول ونشره
    تحيتي لك

  2. شكراً عزيزي حجازي على ردك الجميل

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

    تابع معنا و ستستفيد بإذن الله

  3. اخى العزيز يحى .. ما شاء الله عليك… الله معك ….ويلا شد حيلك وان شاء الله من نجاح الى نجاح…

  4. عزيزي خالد الشيخ

    سرني تواجدك هنا

    أشكرك على تعليقك الرائع

  5. ما شاء الله تبارك الله.. بداية موفقة أخي..
    كنت قد بدأت بالفعل بإعداد بيئة الأندرويد والعمل عليه قبل أشهر لكني توقفت في بادية الطريق للإنشغال بامور أخرى وللتشتت الفارط..
    وأنا معك.. البرمجة هنا ممتعة لأقصى الحدود والتوثيق والدعم كبيران ومتوفران..
    ماذا عن دعم العربية المتضاربة الأخبار بشانه؟
    كل التوفيق اخي

  6. أهلا بك عزيزي عقبة

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

    يعني مثلا السلام عليكم

    ا ل س ل ا م ع ل ي ك م

    يمكنك ان تجدهم هنا
    https://sites.google.com/a/ut.utm.edu/arabicandroid/

    أما عن قصه دعمه بصورة اساسية في النظام فأرجو ان يكون ذلك في التحديثه التالية للنظام 2.0 ولكن بالنظر إلى هذة الصفحه

    https://sites.google.com/a/ut.utm.edu/arabicandroid/android-native-arabic-support

    سوف تجد ان الموضوع سبق الإعداد له من قبل مجموعة مطوري اندرويد

    أهلا بك عزيزي معنا ..

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

  8. اذا كل هذا تفتهم . ليش ما تحل مشكلة العربية .
    شكرا

  9. أولاً شكراً لتعبك
    ثانياً : واجهتنى مشكلة

    فى الخطوة دى :
    في الوقت الحالي وقد وصلت إصدارة الـ 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;

    ممكن توضحلى المشكلة

    و شكرا جدا

  10. Hejazi

    أشكر لك تفاعلك و أظن المشكلة في طريقها إلى الحل في خلال السنة القادمة إن شاء الله

    المستر
    ربنا يوفق الجميع 🙂

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

    بخصوص انه يعترض على الأكواد فانصحك بعمل حذف كامل لكل بيئة التطوير و إعادة التنصيب كما ذكرتها بالظبط وعلى الرغم من تغير الاصدارات فإن اللينك الخاص بتحمل الـ ADT ثابت ولم يتغير

    اتمنى لكم من الله التوفيق و في انتظارك 🙂

  11. لدي جهاز و عندما اقوم بشبكه الى جهاز الكمبيوتر عن طريق وصله يطلب من تعريفي للجهاز و عندما ابحث عنه خلال الانترنت يقول انه لا يوجد تعريق ارجو المساعده

أضف رد على saleh إلغاء الرد

لن يتم نشر البريد الإلكتروني . الحقول المطلوبة مشار لها بـ *

*

© Copyright 2014, All Rights Reserved