بسم الله الرحمن الرحيم
والصلاة والسلام على سيدنا
محمد صل الله عليه وسلم
إن شاء الله النهاردة هنتكلم فى كذة موضوع نبدأ بسم الله
أولاً : Android Applications يحتوى على واحد او اكثر من هذه العناصر وهى :
1- Activity: اى صفحة بنشوفها فى اى application اسمها activity واى activity لازم يكون
ليها layout.
2- Service: وهى مالهاش layout زى ال layout اللى لازم
يكون موجود فى ال Activity
ومن امثلة ال service
ال media player
بيقدملنا خدمه ولكنه لا يحتوى على layout.
3- Broadcast Receiver: وهى بتعمل وفقاً لشيء معين احنا اللى بنحدده
اول لما بيحصل بتتنفذ على طول ، زى مثلا True caller application قائم على
انه اول لما الموبايل يستقبل اتصال البرنامج اتوماتيك بيشتغل ، ليه؟ لان البرنامج
يحتوى على broadcast receiver يعمل اول ما الموبايل يستقبل call .
والثلاثة عناصر السابقة توجد منها واحده او
اكثر فى اى application
.
ثانياً : Activity life
cycle
:
وفى الجزء ده هنتعرف على دورة حياة ال activity والمراحل
اللى بتمر بيها وهى :
1- onCreate : ديه method بنعمل ليها override فى ال activity ولازم تكون
موجوده فى اى activity
، يعنى غير باقى ال cycles
التانية مش لازم نعمل ليهم override فى ال activity بتاعتنا إلا
لو هنستخدمهم لكن ال onCreate لازم بنستخدمها لاننا بنعرّف فيها اى حاجه البرنامج محتاجاها اول ما يفتح زى مثلا الViews اللى بتكون موجوده فى ال layout الخاص بال activity بنعرّفهم فى
ال onCreate method.
2- onStart : ال application اول ما
بيفتح بينفذ ال onCreate method وبعدها على طول بينفذ onStart
method
بس مش لازم نستخدم onStart method إلا لو احتاجناها .
3- onResume : ال cycle ديه مهمه جدا لانها بتتم لما
ال application
يكون شغال وال user
يقدر يتعامل معاه ، ناخد بالنا من حاجه ان onCreate و onStart البرنامج
بينفذهم بسرعه جدا ورا بعض وبعد كده البرنامج اتوماتيك بينقل إلى مرحلة ال onResume وديه
المرحله اللى بيكون ال user
فيها فاتح ال Application
وشغال عليه .
4-
onPause
: ال cycle بتتم لما ال
Application
بتاعنا يكون اختفى بسبب ان application تانى اشتغل زى مثلا واحنا شغالين على اى application وبعد كل
الموبايل يرن كده ال application الخاص بال Call هو اللى
هيكون ظاهر امامنا وال application التانى هيكون مش قدامنا بس
هيكون فى حالة Pause
، فلو احنا عايزين اى حاجه تتنفذ فى المرحلة ديه هنعمل override ل onPause
method
ونكتب الكود اللى عايزين ننفذه فيه .
5- onStop : فى ال cycle ديه هيكون
ال application
بتاعنا اختفي اتعمله Stop
يعنى بس نقدر نعتبره انه موجود فى ال background فى الموبايل عشان كده نقدر
نحتفظ بالحالة اللى كان عليها ال application فى ال onStop method .
6- onRestart : بتتم فى حالة ان ال application كان فى حالة
ال Stop
واحنا عايزين نشغله تانى فالبرنامج هيشغّل ال onRestart ثم ال onStart ثم ال onResume .
7- onDestroy : ال cycle ديه بتتم فى حالة اننا نغلق ال
application
خالص ولو هفتحة تانى هيبدأ من الاول خالص يعنى من اول ال onCreate.
اللى عايز
يعرف اكتر عن ال Activity life cycle اللينك ده فيه شرح كويس جدا :
ثالثاً : Event Handling : هنشرح دلوقتى إزاى بنعمل Event handling
1-
Source : لازم يكون عندنا source هو اللى هنعمل عليه ال event وال source ده بيكون ال View اللى فى ال layout زى ال Button or Textview or any View
2-
Event :
وده ال Event نفسه اللى عايزينه يتم فى ال View زى Click or long Click
3-
handling: ده عبارة عن Call
back method يعنى method بتكون موجوده داخل interface واحنا بنعمل ليها override وبنكتب داخل هذه ال method الكود اللى احنا عايزينه يتنفذ .
رابعاً : مثال على ال Event handling :
-
عندنا TextView و Button عايزين لما نضغط على ال Button يطلع على ال TextView كلمة "Hello world"
الحل :
-
ال layout هيكون كده :
-
والكود
اللى فى ال java class ممكن يتعمل بأكثر من طريقة واحنا نختار اى طريقة فيهم ونشتغل بيها
:
-
الطريقة الاولى : هنعمل inner Class ونعمل implements
interface فى ال class ديه لل interface اللى احنا عايزين نستخدمه ونكتب في ال class ديه
كل الكود الخاص بال Button وبعد كده ناخد منها object فى ال MainActivity ونستخدمها كما فى الشكل التالى :
1- رقم
1 عملنا inner class وخليناها ت implements ل OnClickListener
interface وده ال interface اللى بنحتاجه لما نكون عايزين ننفذ كود عند
الضغط على view زى ال Button
وبعد كده هنلاقى خط احمر تحت myAction class هنقف عليه هنلاقى مكتوب add unimplemented method هنضغط عليها هتنزل ال method اللى
اسمها onClick هى ديه اللى هنكتب جواها الكود اللى احنا عايزينه ، فى حالة
اننا عندنا اكتر من Button او اكتر من View عشان نفرّق بينهم نتأكد ان ال v اللى فى ال method بتساوى ال View اللى احنا عايزينه
2- رقم 2 خدنا object from myAction class .
3- رقم 3 هنربط ال Button بال method اللى اسمها onClick ، ازاى ؟؟ عن طريق ال method اللى اسمها setOnClickListrner ونكتب بين القوسين بتوع ال method المكان اللى موجود فيه ال onClick method اللى هو ال object اللى خدناه من myAction
class ونعمل Run ونضغط على ال Button هنلاقى طلع لينا فى ال TextView جملة "Hello
World …" .
-
الطريقة الثانية : هنخلّى ال MainActivity هى اللى ت implements ال interface يعنى هنشيل ال inner
class كما فى الشكل التالى :
-
هنلاقى فوق
خالص ال Activity وهى بتعمل implements
onClickLinstener interface .
-
وهنربط ال Button بالكود زى ما قولنا قبل
كده عن طريق ال SetOnClickListener
method ونضع داخل القوسين المكان اللى فيه onClick method وفى الحالة ديه المكان موجود فى نفس ال Class عشان كده كتبنا كلمة this معناها يعنى this class
-
onClick method تحتوى على نفس الكود مثل الطريقة السابقة .
-
الطريقة الثالثة : Anonymous inner type
كما فى
الشكل التالى :
-
فى هذه
الطريقة من بنحتاج نعمل implements
interface ، شُغلنا كله بيكون داخل ال setonClickListener method ، ازاى ؟؟ بنكتب داخل قوسين ال method كده new OnClickListener وبعد كده نعمل ctrl+space هتنزل لنا onClick method نكتب فيها الكود اللى احنا عايزينه ، وفى هذه الحالة مش هنحتاج
نتأكد من ال v اللى فى ال method لأن ال method هتكون خاصة بال View اللى هى مكتوبة جواة .
هما دول الطرق الثلاث اللى ممكن
نعمل بيهم اى Event handling لأى View
-
وبكده نكون
خلصنا الدرس النهارده بس هقول جزء اخير فى الدرس وهو ازاى اعمل Run to application على الموبايل :
-
لازم يكون
عندنا التعريف الخاص بنوع الموبايل بتاعنا ولو مش عندنا نبحث عنه على الانترنت
وبعد كده نعمل له setup على الكمبيوتر
-
نضغط Right click على ال project هيظهر لينا الشكل ده
-
نختار Run as ثم Run Configurations ثم بعد كده هيظهر لينا الشكل ده
-
نختار Target من ال tabs فوق ثم نختار اول اختيار ونضغط على Apply وبعد كده هيظهر لينا الشكل ده
-
السطر اللى
عليه مربع احمر ده الموبايل اللى احنا عرفناه على الكمبيوتر ، لو الموبايل ما ظهرش
فى الشاشة ديه يبقى لسه ما اتعرّفش على الكمبيوتر ، وبعد كده نضغط ok هنشوف ال application بتاعنا على الموبايل .
-
Task
:
ال layout عبارة عن ثلاثة TextView و Button ، ال Button وظيفته ياخد الرقم اللى هيدخله ال user فى اول TextView وتانى TextView ويجمعهم ويضع مجموع الرقمين فى ثالث TextView .
السلام عليكم ورحمة الله
وبركاته
No comments:
Post a Comment