معلومة تاريخية
في يوليو 2005 قامت شركة جوجل بالاستحواذ علي شركة صغيرة تدعي أندرويد مقرها في بالو ألتو في ولاية كاليفورنيا الأمريكية
اولا: ما هو الاندرويد
هو منصة برمجيات ونظام تشغيل خاص بالهواتف النقالة، مبني اعتماداً على نواة لينكس، وقامت جوجل بتطويره أولاً، ثم الاتحاد المفتوح للهواتف (بالإنجليزية
: Open Handset Alliance
). يسمح أندرويد للمطورين بكتابة شفراتهم المصدرية باستخدام لغة جافا
، حيث بإمكانهم التحكم بالهاتف باستخدام مكتبات برمجية مكتوبة بلغة جافا، قامت جوجل بتطويرها. من الممكن تجميع البرامج المكتوبة بلغة سي البرمجية واللغات الأخرى، وتشغيلها على نظام التشغيل أندرويد، باستخدام طرق أخرى لا تدعمها جوجل رسمياً. تم الكشف عن منصة أندرويد في 2007 عند إنشاء الاتحاد المفتوح للهواتف، وهو تجمع لثمانية وأربعين شركة اتصالات ومصنعي المعدات والبرمجيات التي تلتزم بتطوير المعايير المفتوحة للهواتف النقالة. قامت جوجل بجعل الجزء كبير من منصة وبرامج أندرويد يخضع لرخصة أباتشي.
ثانيا: ابرز مصنعي الاندرويد
Google, HTC, Intel, LG, Motorla, Nvidia, Samsung, Sony Ericsson, Toshipa, Vodafone, T-Mobile, وغيرها …
ثالثا: النظام مفتوح المصدر
ويمكن لاي مطور ان يستخدم كود البرمجة المتاحة مجانا من خلال موقع Welcome to Android | Android Open Source
رابعا:
ما هي هندسة أندرويد؟ Android Architecture
إطار التطبيق
Applications Framework
: يمنح المطورين من الوصول الكامل إلى واجهات برمجة إطار
API
والتطبيقات نفسها المستخدمة من قبل النواه. الهيكل مصمم لتبسيط إعادة استخدام المكونات, أي تطبيق يمكن نشر قدراته لأي تطبيق آخر ثم يمكن الاستفادة من تلك القدرات (تخضع لقواعد سلامة الإطار) هذه الآلية نفسها تسمح لمكونات لتحل محلها من قبل المستخدم.
مكتبات Libraries: أندرويد يتضمن مجموعة من المكتبات
“C/C++”
المستخدمة من قبل مختلف مكونات نظام التشغيل . هذه القدرات تعرض للمطورين من خلال إطار تطبيق أندرويد. بعض ما يلي : نظام مكتبة “C”
(مكتبة التنفيذ القياسية
“C” )
، مكتبات الإعلام، ومكتبات الرسومات،
“3d”, “SQLite”
, وغيرهم.
توقيت التشغيل أندرويد
Android Runtime:
أندرويد يتضمن مجموعة من المكتبات الأساسية التي تمنحه العديد من الميزات الأساسية المتوفرة في المكتبات الموجودة بلغة البرمجة جافا, كل تطبيق أندرويد يدير عملياته بنفسه، مع النموذج الخاص به من آلة
Dalvik
الظاهرية. تمت كتابة
Dalvik
بحيث يمكن للجهاز تشغيل عدة آلات ظاهرية بكفاءة.
Dalvik
يدير الملفات في شكل
Dalvik
القابل للتنفيذ
(.dex)،
والذي هو الأمثل للذاكرة الدنيا، الآلة الظاهرية مبنية على أساس السجلات، وتدير الطبقات المترجمة التي جمعتها جافا التي تم تحويلها من الشكل
format.dex
بواسطة الأداة المرفقة
“dx”.
نواة - لينكس : أندرويد يعتمد على الإصدار 2.6 لنظام لينكس في الخدمات الأساسية له مثل الأمن، وإدارة الذاكرة، وإدارة العملية، ومكدس الشبكة النموذجية للتعريف, النواة أيضا تقوم بدور طبقة تجريد بين الأجهزة وبقية مكدس البرامج.
التسلسل الهرمي البصري لأندرويد : الفئة او الصنف الرئيسي لأندرويد هو النشاط أو
Activity
كائن من الدرجة
android.app.Activity.
النشاط
Activity
يقوم بعمل أشياء كثيرة ولكن في حد ذاته لا يقدم أي شيء على الشاشة. للحصول على شيء على شاشة عرض من الضروري تصميم واجهة المستخدم
“UI”
بواسطة مشاهدات
Views
أو مشاهدة المجموعات
Viewgroups,
هذه الطبقات تستخدم لخلق التفاعل بين المستخدم والنظام الأساسي لأندرويد.
المشاهدة Views:
تعتبر كائن
Object
من النوع
android.view.View,
بل هو بنية البيانات التي تحتوي على خصائص طبقة بيانات ومعلومات محددة في مساحة مستطيلة من الشاشة حيث أن مشهد
“View”
يحتوي على: التخطيط
“Layout”،
والرسم
Drawing
، تغيير التركيز
Focus change
، والتمرير
Scrolling,
الخ...
النوع
View
مفيد كنوع بدائي للـحاجيات أو
Widgets
وهم عبارة عن فئات فرعية تقوم برسم وتنفيذ بعض العناصر على الشاشة، الحاجيات تتصرف تعتمد على نفسها بالتشغيل ولكن بإمكاننا إستعمالها لنبني بسرعة واجهة المستخدم الذي نريدها بحيث أن قائمة الحجيات الذي يمكننا بأن نستخدمها هي
Text, EditText, InputMethod, MovementMethod, Button, RadioButton, CheckBox, ScrollView.
النوع
Viewgroups
: تعتبر كائن
Object
من النوع
android.view.Viewgroups
وكما يوحي إسمها يعتبر كائن عرض خاص وظيفتها الإحتواء والسيطرة على
“View”
و أنواع
“Viewgroups”
أخرى، بحيث تسمح لنا ببناء هياكل وبناء واجهة معقدة من عدة عناصر على الشاشة يتم تشريحها من قبل كيان واحد.
الطبقة
Viewgroups :
تعتبر مفيدة كأساس لطبقة التخطيط
Layout
التي هي أقسام فرعية منفذة و توفر الأنواع الأكثر شيوعا من تخطيطات الشاشة. وتوفر وسيلة لبناء هيكل للحصول على قائمة
Views.
شجرة منظمة لواجهة المستخدم : في منصة أندرويد انت تقوم بتحديد النشاط
Activity
تعرفه على واجهة المستخدم بواسطة عقد شجرة عرض مركبة من
View و Viewgourps
، كما نرى في الصورة ادناه. الشجرة يمكن أن تكون بسيطة أو معقدة تعتمد عى الحاجة إليها، ويمكن تطويرها باستخدام الحاجيات والتتخطيطات التي يمنحها أندرويد أو نبني الـ
Views
الخاصة بنا
خامسا
اجزاء من نظام الاندرويد لابد ان تعرفها
ا- الروم
ROM
احنا معظمنا اذا ماكانش كلنا شاف نظام الاندرويد واتعامل معاه وشاف انه تقريبا فى كل حاجه و ممكن تضيف عليه حاجات زياده او تشيل منه على حسب ما انت عاوز
يعنى ايه روم الروم ده اللى هو هو الفريم وير firmware فى الموبايلات العاديه او نسخه السوفت وير بتنقسم ل نوعين
روم رسمى و دول بيبقى اسمهم Odex
دى رومات بتبقى صادره من الشركه نشرح ازاى بالاختصار كده
شركه جوجل بتعمل نظام الاندرويد نقدر نقول خام من غير اى تعديلات وبيبقى معاه شفره او كود
Code
بتوزع النسخه دى على شركات المحمول سامسونج
-LG - HTC -Samsung,
..... الخ
بتاخد كل شركه النسخه والكود وتبتدى هى بقى تحط التطبيقات بتاعتها و المميزات اللى تميز بيه الموبايل بتاعها عن الشركه التانيه اللى بتستخدم نفس النظام وده بيفسر ليه مثلا موبايل الاندرويد بتاع سامسونج فى مميزات غير HTC غير LG وهكذا والتعديلات دى بتم عن طريق المطورين بتوع الشركه بس وبيتم اصدار الموبايل وده بيبقى الروم الرسمى
تانى نوع روم غير رسمى او (روم مطبوخ) بيبقى اسمه
Deodex!
Deodex!
زى ما قولنا فى الروم الرسمى ان المطورين بتوع الشركات بيضيفوا على نسخه الاندرويد عشان يبقى مميز نفس الموضوع بيبقى فى مبرمجين و مطورين مستقلين لا ينتموا الى اى شركه بيعملوا رومات للاندرويد و بيضيفوا عليها برامج غير البرامج الاساسيه وبتبقى شكلها متغير تماما عن الروم الرسمى بكل حاجه حتى فى ال
system
بتاع الجهاز بس بينى و بينكو الرومات دى معظمها بتبقى فيها مشاكل كتير وبتبطأ الجهاز بس فى مطورين الرومات بتاعتهم بتبقى احسن من الروم الرسمى بكتييير زى
( CyanogenMod و XDA-Developers )
دول مجموعه مطورين بيعملوا رومات جامده اوى جامده فى شكلها وبرامجها لدرجه انه فى معظم الرومات بتاعتهم بيبقى نازل معاه برنامج تقدر تغير ال
IP
بتاع الموبايل وتكذب بيه على الشركه ويتفتحلك كل حاجه على البلاى ستور حتى الحاجات اللى بفلوس ده غير مميزات تانيه كتيره اوى للروم بس ليها عيوب طبعا
system
بتاع الجهاز بس بينى و بينكو الرومات دى معظمها بتبقى فيها مشاكل كتير وبتبطأ الجهاز بس فى مطورين الرومات بتاعتهم بتبقى احسن من الروم الرسمى بكتييير زى
( CyanogenMod و XDA-Developers )
دول مجموعه مطورين بيعملوا رومات جامده اوى جامده فى شكلها وبرامجها لدرجه انه فى معظم الرومات بتاعتهم بيبقى نازل معاه برنامج تقدر تغير ال
IP
بتاع الموبايل وتكذب بيه على الشركه ويتفتحلك كل حاجه على البلاى ستور حتى الحاجات اللى بفلوس ده غير مميزات تانيه كتيره اوى للروم بس ليها عيوب طبعا
اهم عيب انها بتطلع الجهاز من الضمان وكمات ممكن وانت بتركب الروم تعمل حاجه غلط الموبايل بتاعك كل سنه وانت
2- الروت
ROOT
الروت ده معناه انك بتعطى لنفسك صلاحيات انت ماكنتش ينفع تعملها من غير الروت يعنى كده الروت زى كسر القفل اللى كان على نظام الاندرويد عندك وفتح الباب اللى لو دخلت فيه ممكن تعمل اى حاجه فى الموبايل بتاعك زى انك تركب روم وقولنا يعنى ايه روم وايه هى مميزاته او انك من خلال عمل الروت ده فى برامج كتير هاتشتغل بشكل افضل وتعمل حاجات ماكنتش بتعملها قبل الروت زى برنامج
SetCPU
ده المفروض انه بيسرع الجهاز عادى ولكن مع عمل الروت اتفرج بقى على اللى هايعمله وبرده برامج كتير زى برامج تطويل عمر البطاريه واهم حاجه بتاعت الماركت الامريكى دى (انك تفتحلك حاجات فى جوجل بلاى كانت مقفوله عشان النطاق بتاع بلدك وتفتحلك الحاجات اللى كانت بفلوس تبقى مجانيه )
ملخص كل اللى فات ده كله ان الروت ده بيخليك تتحكم تحكم كامل كااامل فى جهازك
طب ازاى نعمله او ازاى نعرف عنه اكتر وبتوسع وازاى الاقى البرامج بتاعت الروت او الادوات
احنا كده قولنا فكره عامه وواضحه عن الروم والروت وانت كده فهمت ودخلت فى الموضوع ممكن تدخل على موقع من المواقع اللى تحت دى وتقرأ بالتحديد الرومات اللى ممكن تركب لجهازك بالتحديد وطريقه الروت وكل حاجه ممكن تظبط بيها الجهازThe XDA Developers forums
:- يعتبروا المطورين رقم واحد فى عالم الاندرويد هاتدخل وهتلاقى كل حاجه من الالف للياء عن جهاز الاندرويد بتاعك
بس قبل ما تدخل لازم تعرف شويه مصطلحات عشان ماتوهش جوه
1:- Flash -Flashing :-
ده معنها بالبسيط تسطيب او تركيب اى برنامج على جهازك او روم
2:- Recovery :-
الريكفرى هى نسخه السوفت وير على جهازك اللى بتسمحلك تعمل باك اب تعمل فلاش لروم وحاجات تانيه ممكن تقرأ عنها فى الموقع اللى فوق بس نسخه الريكفرى الموجوده اساسا على جهازك مش يتعمل حاجات كتير بس انت ممكن تركب نسخه تانيه بنفسك وتستخدمها
3:- Bootloader :-
ده اللى بيصدر التعليمات البرمجية التي من الضروري لبدء نظام التشغيل الخاص بك.
واتمنى انى اكون اديت نبذه مختصره عنها
0 comments:
Post a Comment