آموزش Android : آشنایی با Activity و Fragment

دسته بندی :بازی سازی 3997
آموزش Android : آشنایی با Activity و Fragment

آموزش Android : آشنایی با Activity و Fragment

موقعی که یک کاربر از اپلیکشین اندرویدی استفاده می کنه، همیشه با Activity سر و کار داره. از زمانی که گوگل اندروید نسخه Honeycomb رو منتشر کرد، Fragment هم به این سیستم عامل اضافه شد. Fragment، استفاده مجدد از کدها و تغییر محتوای صفحه رو راحت می کنه. اونم بدون اینکه مجبور بشیم یک Activity جدید رو Destroy یا Rebuild کنیم.

با ” آموزش Android : آشنایی با Activity و Fragment ” با ما همراه باشید…

  • سطح سختی: مبتدی
  • مدت آموزش: 20 تا 30 دقیقه
  • نرم افزار استفاده شده: Android Studio
  1. Activity

Activity، بخش اصلی سیستم اندروید رو تشکیل میدi و یکی از اولین مفاهیمی هست که برای آشنایی با اندروید باید باهاش آشنا باشیم. Activity به عنوان یک صفحه واحد عمل می کنه که برای کابر به نمایش در میاد و اغلب منطق برنامه رو Encapsulate می کنه یا در محفظه قرار میده. موقعی که یک Activity رو به صورت دستی یا با استفاده از نمونه های Android Studio درست می کنیم، باید یک فایل AndroidManifest.xml رو به این شکل براش تعریف کنیم.

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
 
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

توی کد بالا، تگ intent-filter رو به همراه action و category می بینین. ذکر جزئیات در مورد این آیتم ها، فراتر از این آموزش هست اما باید بدونین که با استفاده از این خطوط اضافه، سیستم می فهمه که موقعی که کاربر این اپلیکیشن رو انتخاب می کنه، اول کدوم Activity رو باز کنه.
بعد از درست کردن Activity، می تونین اون رو با لی اوت فایل XML ارتباط بدین. این طوری به راحتی می تونین از View Objects مربوط به لی اوت استفاده کنین. این کار رو با روش onCreate() میشه انجام داد.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

بعد از بازخوانی setContentView()، میشه View Objects لی اوت فایل XML رو مرجع قرار داد.

Activity Life Cycle

توی این مرحله، شاید پیش خودتون بگین چرا از onCreate() استفاده می کنیم. روش onCreate() یکی از روش های مرتبط با Activity Lift Cycle هست. موقعی که اول Activity درست میشه، این روش بازخوانی میشه. همون طور که توی تصویر زیر می بینین، توی همچین شرایطی میشه مراحل مقدماتی Activity رو گذروند و مطمئن شد که اول توی Activity Life Cycle بازخوانی بشه.

آموزش Android : آشنایی با Activity و Fragment

نمودار بالا، ترتیب متدها یا Activity Leaves رو نشون میده که می تونه با عبارت های زیر هم دیده بشه:

– onCreate() درست هنگامی بازخوانی میشه که Activity ایجاد میشه. onDestroy() کاملا بر عکس onCreate() هست و هنگامی بازخوانی میشه که Activity از حافظه دستگاه حذف میشه. توی بعضی شرایط محدود، onDestroy() بازخوانی نمیشه اما ذکر مثال در این باره، فراتر از این آموزش هست.

– onStart() زمانی بازخوانی میشه که Activity برای کاربر به نمایش در میاد و onStop() هم زمانی بازخوانی میشه که Activity دیگه نمایش داده نشه. این دو، موقعی که اپلیکیشن با زدن دکمه Home دستگاه، توی پس زمینه اجرا میشه و موقعی که اپلیکیشن به پیش زمینه منتقل میشه هم بازخوانی میشن.

– onResume() و onPause() هم مربوط به زمانی میشه Activity در پیش زمینه قرار داره. اگه یک Activity دیگه هم به پیش زمینه منتقل به، این بخش از Lift Cycle اجرا میشه.

آشنایی با اینکه هر کدوم از این متدها چه زمانی بازخوانی میشن، خیلی بهمون کمک می کنه.

تغییرات Configuration یا پیکربندی

حالا که یک مقدار با Activity Life Cycle آشنا شدین، زمان این رسیده که ببینیم موقعی که یک Activity به وضعیت Destroy در میاد و مجددا توسط سیستم Create میشه، چه انفاقی میفته. این وضعیت توی چند تا شرایط اتفاق میفته. رایج ترین شرایط مربوط به زمانی هست که صفحه رو می چرخونیم. به این ترتیب، Activity وارد فرآیند onStop(), onPause(), onDestroy() میشه و مجددا onCreate() میشه. متد دیگه ای که توی نمودار بالا دیده نمیشه، onSaveInstanceState() هست. این متد، Activity که Destroy شده رو بازخوانی می کنه که امکان ذخیره اطلاعات ساده رو فراهم میاره. موقعی که onCreate مجددا بازخوانی میشه، میشه اطلاعات رو ذخیره شده رو دوباره به دست آورد. این کار رو میشه از طریق متد onRestorInstanceState() انجام داد

2. Fragment

از زمانی که اندروید 3.0 یا Honeycomb به بازار اومد، Fragment به یکی از مهم ترین ابزارهایی تبدیل شد که مشکلات زیادی رو برطرف می کنه. Fragment اجازه میده که رابط کاربری یک پروژه برای دستگاه های مختلف با اندازه های مختلف صفحه نمایش مثل تبلت، سازمان دهی بشه. Fragment همچنین یک کد رو به خوشه های مختلفی تقسیم می کنه که میشه هر خوشه رو به راحتی مدیریت کرد. این طوری دیگه نیازی به دسته های پیچیده Activity نیست. آخرین و مهم ترین میزیت Fragmets، اینه که امکان Navigate راحت رو فراهم میاره و این طوری میشه به راحتی به بخش های مختلف اپلیکیشن دسترسی داشت.

Life Cycle

Fragment هم درست مثل Activity دارای Life Cycle هست که به مدیریتش کمک می کنه. آشنایی با Life Cycle بهمون کمک می کنه که اپلیکیشن های بهتری تولید کنیم.

آموزش Android : آشنایی با Activity و Fragment

– onAttach() و onDetach() موقعی که یک Fragment به Activity اضافه میشه، علامت میدن و باعث میشن که از Fragment بشه استفاده کرد.

– onCreate() یک متد رو برای Fragment بازخوانی می کنه و onDestroy() هم برعکس این کار رو انجام میده.

– onCreateView() متدی هست که باهاش لی اوت و View Objects مربوط به Fragment رو معرفی می کنیم. onDestroyView() هم زمانی بازخوانی میشه که سلسله مراتب View مرتبط با Fragment حذف بشه.

– onStart() و onStop() درست مثل همتای خودشون توی Activity Life Cycle عمل می کنن. این متدها زمانی اجرا میشن که Fragment ها به ترتیب نمایش پیدا کنه یا از وضعیت نمایش خارج بشه.

– onPause() و onStart() هم مشابه همتای Activity خودشون هستن. موقعی که یک Fragment به نمایش در میاد، یکی از این دو متد اجرا میشن.

دسته فرعی Fragments

حتی اگه یک دسته از Fragments خیلی هم قدرتمند باشه، اما بدون دسته فرعی نمی تونه نهایت پتانسیل خودش رو نشون بده. خوشبختانه گوگل دسته های فرعی مختلفی رو برای Fragments در اختیارمون میزاره که این دسته ها بهمون کمک می کنه اپلیکیشن های خوبی رو تولید کنیم. توی این بخش، می خوام شما رو با چند تا از این دسته های فرعی آشنا کنم. یادتون باشه که این Fragment ها همیشه در دسترس تون هستن.

ListFragment

ListFragment ها، ListView و تعداد متد کمکی مثل ProgressBar () و یک TextView برای نمایش متن در هنگامی دارن که List خالی هست.

MapFragment

MapFragment، یک Fragment با ارزش هست که برای استفاده از سرویس Google Map، یک MapView رو Wrap می کنه. به جای اینکه مجبور بشیم کد خودمون رو بنویسیم، می تونیم این Fragment رو Extend کنیم.

BrowseFragment و DetailFragment

هر دوی این Fragment ها در دسترس هستن و با رابط کاربری و عملکرد مقدماتی اپلیکیشن هایی که برای تلویزیون های هوشمند تولید میشه، سر و کار دارن.

نتیجه

توی این آموزش، Activity و Fragment رو بررسی کردیم. باید بدونین که این دو، از مفاهیم کلیدی برای ایجاد رابط کاربری اپلیکیشن ها هستند. Activity Life Cycle و Fragment Life Cycle رو با هم دیدیم و با دسته های فرعی اون ها هم آشنا شدیم. هر قدر ادامه بدین، با Activity و Fragment های بیشتری آشنا میشید.

امیدواریم ” آموزش Android : آشنایی با Activity و Fragment ”  برای شما مفید بوده باشد…

توصیه می کنم دوره های جامع فارسی مرتبط با این موضوع آریاگستر رو مشاهده کنید:

صفر تا صد آموزش جاوا

صفر تا صد آموزش برنامه نویسی اندروید با اندروید استودیو

صفر تا صد آموزش برنامه نویسی اندروید با اکلیپس

توجه : مطالب و مقالات وبسایت آریاگستر تماما توسط تیم تالیف و ترجمه سایت و با زحمت فراوان فراهم شده است . لذا تنها با ذکر منبع آریا گستر و لینک به همین صفحه انتشار این مطالب بلامانع است !

دوره های آموزشی مرتبط

مطالب مرتبط

قوانین ارسال دیدگاه در سایت

  • چنانچه دیدگاهی توهین آمیز یا بی ارتباط با موضوع آموزش باشد تایید نخواهد شد.
  • چنانچه دیدگاه شما جنبه ی تبلیغاتی داشته باشد تایید نخواهد شد.

دیدگاهتان را بنویسید

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

لینک کوتاه: