السبت، 17 سبتمبر 2016

الحلقة الثالثة 3 في تعليم برمجة تطبيقات الاندرويد

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

لبناء تطبيق الاندرويد. 
نظام الاندرويد هو مجموعة من التعليمات البرمجية التي تحتوي على دورة واضحة المعالم على سبيل المثال, Activity, Receiver, Service etc.
المكونات الاساسية لتطبيق الاندرويد, هي activities , views , intents,  services, content providers, fragments and AndroidManifest.xml.

Activity 

على الخلاف مع تصميم البرامج المعتادة, لا يتم هنا انشاء الواجهات, عن طريق نفس اللغة التي نبرمج بها, بل نقوم بتصميمها بلغة احترافية أكثر وتقدم لنا النوافذ الفوائد التالية:

  1. نفصل تصمٌيم البرنامج عن برمجته ، بالتالًي ٌيكون لنا حرٌية تعدٌيل الشكل دون التأثٌير على المضمون.
  2. - قوة ومتانة فًي البرنامج بحٌث ٌتم تقسٌيم العمل من تصمٌيم فًي البداٌية وبرمجة فٌميا بعد.
  3. - لغة xml إختصاصٌية بشكل كبٌير جدا فًي التصمٌيم فٌيكون لنا مٌيزات أكثر من إستخدام مكتبات البرمجة الاعتيادية بلغة java.
لٌايعنًي هذا أننا ال نستطٌيع البرمجة بشكل كامل بلغة جافا ، بل ٌيعنًي أن هذه هً الطرٌيقة المستخدمة والسلسة والمطبقة فًي جمٌع البرامج الخاصة بالأندروٌيد.

ما الذي قد تحتوٌيه الواجهة ؟ الـ activity ؟ 

تحتوي ال activity موضوعٌين رئٌيسٌٌين : 
  1.  طرٌيقة ترتٌيب العناصر داخل هذه الواجهة.
  2. العناصر الموجودة بداخلها وأهمها :
  • النص : textView.
  • مكان الكتابة : editText.
  • الزر :Button وٌمكن تمٌٌيزهم كما فًي الشكل التالًي :

Android layout views 


أولا : طرٌيقة ترتٌيب العناصر داخل ال activity: نقصد بترتٌيب العناصر هو أننا عندما نقوم بتعرٌيف العناصر داخل الواجهة كٌيف سٌيتم ترتٌيبهم بداخلها ؟
 الطرٌيقة الاساسية والـ default تنص على أن ٌيتم وضع العناصر إما horizontal اوvertical ، أي إما أن ٌيتم وضع العناصر بشكل متتالًي أفقٌيا او ٌيتم وضعهم بشكل متتالًي عمودٌيا وتسمى هذه الطرٌيقة : layout linear فعلى سبٌيل المثال فًي حال انشأنا واجهة وقمنا بتعرٌيف طرٌيقة الترتٌيب بداخلها على أنها layout_linear ووضحنا بأنها vertical ومن ثم أضفنا فٌها زرٌان بشكل متتالًي فسوف ٌيكون شكل الواجهة :


أما فًي حال قمنا بوضع الخاصٌية على horizontal فسوف تكون النتٌيجة :

وبهذه الطرٌيقة ٌيتم ترتٌيب العناصر داخل الواجهة :أعتقد بأن الموضوع بعد المثال أصبح واضحا !
 الطرٌيقة الأخرى الطرٌيقة النسبٌية "Layout_Relative" وتنص هذه الطرٌيقة على وضع كل عنصر بالنسبة لآلخر : ضع هذا الزر أسفل الزر رقم 1 ، ضع الزر الاخر على ٌيمٌين الزر رقم 2 ، الزر رقم 3ٌ يكون بٌين الزر رقم 1 و 2 ، فهًي تعتمد على مبدأ النسبٌة ، تضع كل عنصر بالنسبة لآلخر .. على سبٌيل المثال :

نقوم بوضع الـtextView بالبداٌية فٌيكون هو أول ما بالواجهة نقوم بوضع الـEditText ونقوم بالتنوٌيه فًي خصائصها بأن مكانها هو أسفل الtextView نقوم بوضع الBotton الأول ونقوم بالتنوٌيه فًي خصائصه بأن مكانه هو أسفل على ايلٌمٌين من الEditText نقوم بوضع الـBotton الثانًي ونقوم بالتنوٌيه فًي خصائصه بأن مكانه هو على ٌيسار الزرالأول .. هناك العدٌيد من الخصائصالأخرى فًي طرٌيقة الترتٌيب هذه كأن تضع زر بشكل مباشرة فًي منتصف الشاشة من الأعلى أو من الوسط أو من الأسفل – بشكل عام ٌيمكنك الوصول إلى أي مكان ترٌيد فًي هذه الطرٌيقة ..

-ملاحظة : ٌيمكنك الوصول إلى جمٌيع الأماكن ووضع العنصر الخاص بك فًي أي مكان تشاء بجمٌيع الطرق السابقة ولكن كل مبرمج ٌيفضل طرٌيقة خاصة به أو ٌيرى طرٌيقة أسهل من طرٌيقة .. كما أنه هنالك العدٌيد من الطرق الأخرى سوف نتطرق إلٌيها فًي حال الحاجة إلٌها مثل : layout_table وغٌيرها.


 "لا تستعجل على العملً فالنظري أهم فهو أساس للبدء الصحٌيح فًي العملً ، وحٌينما ٌيكتمل الحد الأدنى من نصاب فهم العملً لدٌيك سوف تجد لدٌيك آفاقا كبٌيرة لإنشاء العدٌيد من البرامج .. "