جلسه هشتم – اکتیویتی ها (Activities)

آموزش اندروید – جلسه هشتم – اکتیویتی ها (Activities)

Activity نشان دهنده یک صفحه با رابط کاربری، درست همانند فرم ویندوز یا فریم جاوا می باشد. اکتیویتی ها در اندروید مشتق شده از کلاس ContextThemeWrapper هستند. هر اکتیویتی به یک Layout که ساختاری xml دارد متصل میگردد و View های قرارگرفته در آن را در صفحه نمایش میدهد.

در اندروید نقطه شروع یک Activity متد ()onCreate است. هر Activity دارای چرخه حیاتی است که در تصویر زیر مشاهده می کنید:

android_lifecycle

 

در چرخه حیات یک اکتیویتی تعدادی متد به صورت خودکار فراخوانی میشوند که به آنها اصطلاحا Call Back گفته میشود.نیاز به پیاده سازی تمامی متدها نیست اگرچه درک تمامی متدها مهم بوده و پیاده سازی درست متدها مطابق انتظار کاربر بسیار حایز اهمیت است. Activity ها شامل Call back متدهای زیر هستند .

android_callbacks

 

نوشتن اولین اکتیویتی :

برای نوشتن هر اکتیویتی با کلاسی در پکیج تعریف شده برای پروژه نوشته شود که از کلاس Activity ارث ببرد و باید حداقل متد onCreate برای آن نوشته شود. در متد onCreate باید Layout مربوط به این اکتیویتی را مشخص نمود. به مثال زیر توجه کنید :

برای مشخص نمودن Layout مربوط به اکتیویتی از دستور SetContentView استفاده میشود و با استفاده از R.layout.activity_main لایوت مورد نظر را تعیین میکنیم.

در مثال زیر چرخه حیات یک اکتیویتی را خواهید دید :

 

نکته۱ :در این مثال از دستور Log.d() برای ایجاد log در سیستم استفاده نموده ایم.

نکته۲ :Logcat بخشی در IDE است که جریان اتفاقات در دستگاه مجازی را به برنامه نویس نمایش میدهد.

هر برنامه می تواند دارای یک یا چند Activity باشد.هر Activity را باید در فایل AndroidManifest.xml تعریف نمود و Activity اصلی (Main ) باید دارای تگ <intent-filter> شامل action.Main و category.LAUNCHER باشد. در این مثال محتوای Manifest باید به صورت زیر باشد :

 

برنامه را اجرا کنید .برای دیدن log ها بعد از اجرای برنامه وارد قسمت Log cat شوید (عکس زیر) :

logcat2
با زدن دکمه emul_button1 در شبیه ساز اندروید دستورات زیر در Log cat نمایش داده خواهد شد.

۰۷-۱۹ ۱۵:۰۱:۱۰.۹۹۵: D/Android :(866): The onPause() event

۰۷-۱۹ ۱۵:۰۱:۱۲.۷۰۵: D/Android :(866): The onStop() event

با زدن دکمه emul_button2 در شبیه ساز اندروید دستورات زیر در Log cat نمایش داده خواهد شد.

۰۷-۱۹ ۱۵:۰۱:۱۳.۹۹۵: D/Android :(866): The onStart() event

۰۷-۱۹ ۱۵:۰۱:۱۴.۷۰۵: D/Android :(866): The onResume() event

با زدن دکمه emul_button3 در شبیه ساز اندروید دستورات زیر در Log cat نمایش داده خواهد شد.

۰۷-۱۹ ۱۵:۳۳:۱۵.۶۸۷: D/Android :(992): The onPause() event

۰۷-۱۹ ۱۵:۳۳:۱۵.۵۲۵: D/Android :(992): The onStop() event

۰۷-۱۹ ۱۵:۳۳:۱۵.۵۲۵: D/Android :(992): The onDestroy() event

 

 




پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code