الأحد، 10 أبريل 2016

برمجة تطبيقات اندرويد ستوديو | اساسيات البرمجة للمبتدئين



اعزائي المهتمين بتعلم منطق البرمجه واكيد اقصد فئة غير المبرمجين وأيضا  طلاب المدارس ممن لديهم الفضول لتعلم لغات البرمجه لمواكبة التقدم في التكنولوجيا وايضا الدخول في مجالات ممكن أن يكون لها عائد مادي معقول.

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

وأيضا يمكن ان تكون المهمه معقده قليلا مثل رسم مربع او دائره على الشاشه كأن تقوم باختراع برنامج جديد له وظائف برنامج الرسم المتوفر على windows.

ويمكن ان تكون تخزين رقم الهاتف في قاعدة بيانات او استعادة رقم مخزن سابقا من قاعدة البيانات.

ممكن ايضا ان تكون التعامل مع وظائف الاجهزه الداخليه عن طريق نظام التشغيل وهذه تسمى API.مثل تشغيل الكاميرا في الموبايل او مثلا معرفة اذا كان جهاز الموبايل في حالة الاتصال او السكون...الخ

وغيرها الكثير...

دعونا نبدأ بمثال جمع رقمين:

لجمع رقمين تحتاج الى وضع كل رقم في حافظه وهي مكان مؤقت في الذاكرة سيقوم بتخزين الرقمين كل على حده لحين اتمام عملية الجمع ثم يتم تفريغه بشكل اتوماتيكي عند اعادة الطلب ليستوعب القيمة الجديده.

المنطق هو ان نطلب من المستخدم ادخال اول رقم على الشاشه وتخزينه في حافظه سنسميها X (في لغة البرمجه نسميها متغير variable)  ثم نطلب منه ادخال الرقم الثاني في حافظه اخرى (variable) سنسميها Y.

وايضا سيلزمنا حافظه ثالثه اذا اردنا تخزين الناتج لاستخدامه في عمليه جديده سنسمي هذا المتغير (majmo3)

ستكون معادلتنا كالتالي:

majmo3= X+Y

المتغيرات variables لها انواع عديده من أشهرها:

integer  رقم صحيح بدون كسور مثال (4)
double او float    رقم عشري (5.7990)
String وهو نص كتابه مثال : "My name is Rawan"
Date التاريخ
Boolean ويأخذ القيمة True/False مثال الطلب من المستخدم الاختيار بين خيارين (ذكر/ انثى)
وهناك انواع اخرى سيتم مناقشتها لاحقا.


نقطه مهمه يجب ان تعرفها ايضا ان تقسيم صفحة البرمجه في اي لغه من لغات البرمجه يكون كالتالي :

1- ادراج المكتبات او المراجع التي تم تجهيزها سابقا من قبل المحترفين حسب ما سوف نحتاجه في برنامجنا.
2- تعريف المتغيرات داخل نطاق البرنامج
3- كتابة سلسلة كود البرمجه داخل الجسم الاساسي للبرمجه main وفي حالة الاندرويد الموضوع سيختلف قليلا نظرا لان الاندرويد ستوديو يتبع نظام بالبرمجه يسمى Object Oriented Programming OOP باستخدام لغة برمجه تسمى الجافا java حيث ان الكود يتم كتابته تبعا لاحداث تمر بها دورة حياة التطبيق كما تم تعريفها سابقه من قبل خبراء مثال: الضغط على زر هو حدث وفتح شاشه هو حدث والخروج من شاشه ايضا حدث.
اهم الاحداث في دورة حياة البرنامج في الاندرويد ستوديو نسميها onCreate

في مثالنا السابق سنقوم بتحديد نوع المتغير double  للمتغيرات الثلاثه كما يلي وهذه التعريفات بالعادة توضع فوق  :

double x,y,majmo3;

او نعرف كل متغير على حده:

double x;
double y;
double majmo3;

 ممكن ان يختلف شكل التعريف باختلاف لغات البرمجه مثلا في VB.net  يأخذ الهيئة التاليه:


Dim x,y, majmo3 as double;

توضيح باستخدام  الكود المستخرج من بيئة البرمجه اندرويد استوديو لتطبيق افتراضي تم انشاؤه الان:

package com.example.rawan.myapplication; اسم تطبيق الاندرويد وسنتعرف لاحقا على طريقة التسمية
import android.support.v7.app.AppCompatActivity; مكتبة
import android.os.Bundle; مكتبة
import android.view.Menu;مكتبة
import android.view.MenuItem; مكتبة


هنا يبدأ تعريف الشاشه التي نقوم بالعمل عليهاوتحديد الصفات التي نريد ان نورثها لها 

* تطبيق الاندرويد ممكن ان يحتوي على اكثر من شاشه


public class MainActivity extends AppCompatActivity {

في هذه المنطقة يتم تعريف المتغيرات المستخدمه في برمجة الصفحة الحاليه:
double x,y,majmo3;
هنا يتم اضافة الاحداث التي ممكن ان تلزمنا من مراحل حياة البرنامج
مثلا هنا الحدث اسمه oncreate يعني يتم تنفيذ الكود اللي بداخله فور ظهور الصفحه على الموبايل
في مثالي اريد اظهار مسج بالنتيجه للمستخدم
قمنا بتحديد قيمة X و Y بالكود بدلا من الطلب من المستخدم ادخالها , وسيقوم البرنامج باظهار النتيجه 
في مسج اسمها Toast لمده قصيره حسب ما اخترت.

 @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        x=5;
        y=7;
        majmo3=x+y;
        Toast.makeText(MainActivity.this, String.valueOf(majmo3), Toast.LENGTH_SHORT).show();
}
}
ونلاحظ هنا ان القوس الاول يغلق الحدث oncreate والقوس الثاني يغلق نطاق الشاشه التي نعمل عليها

الشكل النهائي للنتيجه
Android Studio Emulator
كما تلاحظون نتيجة الجمع ظهرت بالاسفل

هذا كل شيء لليوم, اتمنى ان تكون المعلومات قد ساعدت في تقريب مفهوم البرمجه
الدرس التالي: If Statement
راسلوني بأي تعليق او سؤال في خانة التعليقات ولا تنسوا الاعجاب بالصفحه في حال حازت الصفحه على 
اعجابكم.
وشكرا

روان المصري

ليست هناك تعليقات:

إرسال تعليق