برنامه نویسي موبایل 2
درس متنی
جلسه 11 Fragment ها
نکات کلیدی:
مفهوم Fragment:
Fragment نماینده بخشی از رابط کاربری یا رفتار در یک Activity است.
یک Activity میتواند چندین Fragment را نمایش دهد.
Fragmentها به شما امکان میدهند تا ماژولهای رابط کاربری قابل استفاده مجدد بسازید.
چرخه حیات Fragment:
Fragmentها چرخه حیات خود را دارند که شامل متدهایی مانند onAttach(), onCreate(), onCreateView(), onActivityCreated(), onStart(), onResume(), onPause(), onStop(), onDestroyView(), onDestroy(), و onDetach() است.
درک چرخه حیات Fragment برای مدیریت وضعیت و جلوگیری از نشت حافظه (Memory Leaks) ضروری است.
مدیریت Fragment:
FragmentManager: مسئول مدیریت Fragmentها در یک Activity است. این کلاس امکان اضافه کردن، حذف کردن، و جایگزینی Fragmentها را فراهم میکند.
FragmentTransaction: برای انجام عملیات بر روی Fragmentها (مانند افزودن، حذف، جایگزینی) استفاده میشود. این تراکنشها را میتوان به صورت برگشتپذیر (Back Stack) مدیریت کرد.
ارتباط بین Fragment و Activity:
Fragment میتواند به Activity میزبان خود از طریق getActivity() دسترسی داشته باشد.
Activity میتواند با Fragmentها از طریق FragmentManager ارتباط برقرار کند.
برای ارتباط مستقیم بین Fragmentها، میتوان از راههایی مانند ViewModel، Interfaceها، یا ارسال پیام از طریق Activity میزبان استفاده کرد.
مزایای استفاده از Fragment:
انعطافپذیری رابط کاربری: امکان طراحی رابطهای کاربری که در اندازههای مختلف صفحه نمایش به خوبی کار میکنند (مثلاً نمایش دو پنل در تبلت و یک پنل در موبایل).
قابلیت استفاده مجدد: Fragmentها را میتوان در Activityهای مختلف مجدداً استفاده کرد.
مدیریت بهتر چرخه حیات: Fragmentها به مدیریت دقیقتر وضعیت UI و دادهها کمک میکنند.
انواع Fragment:
UI-based Fragments: Fragmentهایی که دارای رابط کاربری بصری هستند و در صفحه نمایش کاربر دیده میشوند.
Non-UI Fragments: Fragmentهایی که برای مدیریت منطق یا دادهها بدون رابط کاربری بصری استفاده میشوند (مثلاً برای مدیریت بارگیری دادهها یا عملیات پسزمینه).
استفاده از Navigation Component:
کتابخانه Navigation Android، مدیریت ناوبری بین Fragmentها را بسیار سادهتر میکند و از الگوهای رایج ناوبری پشتیبانی میکند.
مقدمه:
Fragmentها بخشهایی از رابط کاربری (UI) هستند که میتوانند در یک Activity واحد ترکیب شوند. این امکان به ما اجازه میدهد تا رابطهای کاربری پویا و انعطافپذیرتری ایجاد کنیم، به خصوص برای دستگاههایی با اندازههای صفحه نمایش متفاوت (مانند تبلتها). Fragmentها چرخه حیات (Lifecycle) خود را دارند که مشابه Activity است.
نکات کلیدی:
- مفهوم Fragment:
- Fragment نماینده بخشی از رابط کاربری یا رفتار در یک Activity است.
- یک Activity میتواند چندین Fragment را نمایش دهد.
- Fragmentها به شما امکان میدهند تا ماژولهای رابط کاربری قابل استفاده مجدد بسازید.
- چرخه حیات Fragment:
- Fragmentها چرخه حیات خود را دارند که شامل متدهایی مانند
onAttach(),onCreate(),onCreateView(),onActivityCreated(),onStart(),onResume(),onPause(),onStop(),onDestroyView(),onDestroy(), وonDetach()است. - درک چرخه حیات Fragment برای مدیریت وضعیت و جلوگیری از نشت حافظه (Memory Leaks) ضروری است.
- مدیریت Fragment:
FragmentManager: مسئول مدیریت Fragmentها در یک Activity است. این کلاس امکان اضافه کردن، حذف کردن، و جایگزینی Fragmentها را فراهم میکند.FragmentTransaction: برای انجام عملیات بر روی Fragmentها (مانند افزودن، حذف، جایگزینی) استفاده میشود. این تراکنشها را میتوان به صورت برگشتپذیر (Back Stack) مدیریت کرد.
- ارتباط بین Fragment و Activity:
- Fragment میتواند به Activity میزبان خود از طریق
getActivity()دسترسی داشته باشد. - Activity میتواند با Fragmentها از طریق
FragmentManagerارتباط برقرار کند. - برای ارتباط مستقیم بین Fragmentها، میتوان از راههایی مانند ViewModel، Interfaceها، یا ارسال پیام از طریق Activity میزبان استفاده کرد.
- مزایای استفاده از Fragment:
- انعطافپذیری رابط کاربری: امکان طراحی رابطهای کاربری که در اندازههای مختلف صفحه نمایش به خوبی کار میکنند (مثلاً نمایش دو پنل در تبلت و یک پنل در موبایل).
- قابلیت استفاده مجدد: Fragmentها را میتوان در Activityهای مختلف مجدداً استفاده کرد.
- مدیریت بهتر چرخه حیات: Fragmentها به مدیریت دقیقتر وضعیت UI و دادهها کمک میکنند.
- انواع Fragment:
- UI-based Fragments: Fragmentهایی که دارای رابط کاربری بصری هستند و در صفحه نمایش کاربر دیده میشوند.
- Non-UI Fragments: Fragmentهایی که برای مدیریت منطق یا دادهها بدون رابط کاربری بصری استفاده میشوند (مثلاً برای مدیریت بارگیری دادهها یا عملیات پسزمینه).
- استفاده از Navigation Component:
- کتابخانه Navigation Android، مدیریت ناوبری بین Fragmentها را بسیار سادهتر میکند و از الگوهای رایج ناوبری پشتیبانی میکند.
تمرین پایان فصل:
- یک Activity طراحی کنید که بتواند دو Fragment را در کنار هم نمایش دهد (مانند یک لیست در سمت چپ و جزئیات آیتم انتخاب شده در سمت راست). رفتار این Activity را برای اندازههای مختلف صفحه نمایش (موبایل و تبلت) شبیهسازی کنید.
- یک Fragment ایجاد کنید که اطلاعات یک کاربر را نمایش دهد. یک دکمه در این Fragment قرار دهید که با کلیک بر روی آن، Fragment دیگری جایگزین شود و فرم ویرایش اطلاعات کاربر را نمایش دهد. اطمینان حاصل کنید که بتوانید با دکمه “بازگشت” به صفحه نمایش اطلاعات برگردید.
- یک سناریو تعریف کنید که در آن نیاز به ارتباط بین دو Fragment وجود دارد (مثلاً Fragment اول یک متن را انتخاب میکند و Fragment دوم آن متن را نمایش میدهد). از یک روش مناسب (مانند ViewModel یا Interface) برای پیادهسازی این ارتباط استفاده کنید.
دروس متنی
#1
جلسه 1 دیالوگ در اندروید 2
#2
جلسه 2 صوت و تصویر در اندروید
#3
جلسه 3 نمایش فهرست ها با Recycler View
#4
جلسه 4 Broadcast Receiver
#5
جلسه 5کار با دیتابیس Sqlite
#6
جلسه 6 Shared Preferences
#7
جلسه 7 ارتباط با اینترنت در اندروید و دانلود فایل از آن
#8
جلسه 8 استفاده ازGPS آپدیت وضعیت کاربر در صورت تغییر مکان و یا با فواصل زمان مشخص
#9
جلسه 9آشنایي با نحوه رسم نمودارهاي مختلف در اپلیکیشن هاي اندرویدي
#10
جلسه 10 ارسال و دریافت پیامک با SMS APIاندروید
#11
جلسه 11 Fragment ها
#12
جلسه 12 استفاده از داده هاي xml و json 12
#13
جلسه 13 استفاده از انیمیشن هايxml
مشاهده دروس کامل
بررسی صفحه یادگیری دوره