آموزش فرگمنت در اندروید با جاوا (قسمت اول)

آموزش ویدیویی اندروید
آموزش فرگمنت در اندروید با جاوا (قسمت اول)

مفهوم فرگمنت و فلسفه وجودی آن در اکوسیستم اندروید

با ورود تبلت ها، نمایشگرهای تاشو و تنوع گسترده ابعاد صفحه‌نمایش در دنیای اندروید، توسعه دهندگان نیازمند ابزاری بودند که بتوانند بخش های مختلف رابط کاربری را به صورت ماژولار و مستقل طراحی کنند. در مباحث طراحی رابط کاربری آموزش برنامه نویسی اندروید، کامپوننت Fragment (فرگمنت) به عنوان یک زیربخش مستقل از رابط کاربری درون یک Activity معرفی شد که دارای چرخه حیات (Lifecycle) و فایل طراحی لایه اختصاصی خود است.

یک فرگمنت را می‌توان به عنوان یک «مینی‌اکتیویتی» در نظر گرفت؛ با این تفاوت مهم که فرگمنت ها همواره باید توسط یک Activity میزبان مدیریت شوند و نمی‌توانند به صورت مستقل در سیستم‌عامل اجرا گردند. این ماژولار بودن به شما اجازه می‌دهد یک طراحی واحد را هم در گوشی موبایل (به صورت صفحات پشت سر هم) و هم در تبلت (به صورت چند پنل در کنار یکدیگر) مورد استفاده قرار دهید.

الگوی معماری مدرن: در استانداردهای روز توسعه اندروید و آموزش معماری تمیز در اندروید، الگوی محبوب Single Activity Architecture پیشنهاد می‌کند که کل برنامه تنها یک Activity اصلی داشته باشد و تمامی صفحات از طریق Fragmentها هدایت گردند؛ رویکردی که در توسعه مدرن با آموزش ناوبری در جت پک کامپوز ساختاری بسیار منظم و تایپ سیف پیدا کرده است.

چرخه حیات اختصاصی Fragment

چرخه حیات فرگمنت شباهت های زیادی به اکتیویتی دارد اما به دلیل وابستگی مستقیم به اکتیویتی میزبان، دارای متدهای تخصصی بیشتری است که رعایت ترتیب آنها مانع بروز کرش های ناگهانی می‌شود:

  • متد onAttach: اولین نقطه‌ای است که فرگمنت به اکتیویتی میزبان متصل شده و مرجع کانتکست دریافت می‌کند.
  • متد onCreateView: مسئولیت ساخت و اینفلیت کردن فایل لایه گرافیکی XML فرگمنت را بر عهده دارد. در این متد ریشه لایه بندی بازگردانده می‌شود.
  • متد onViewCreated: بهترین و امن‌ترین نقطه برای یافتن ویجت ها با findViewById و تنظیم لیسنرها است؛ چرا که در این مرحله ویوها به طور کامل در حافظه بارگذاری شده‌اند.
  • متد onDestroyView و onDetach: متدهایی برای پاک سازی نهایی و آزاد کردن منابع گرافیکی پیش از خروج فرگمنت از حافظه.

روش های تعبیه فرگمنت در برنامه

فرگمنت ها را می‌توان به صورت استاتیک درون فایل XML اکتیویتی از طریق تگ <fragment> قرار داد؛ اما شیوه انعطاف‌پذیرتر و حرفه‌ای‌تر، اضافه کردن داینامیک آنها در زمان اجرای برنامه است که برای اشتراک داده های آن با متدهای آموزش معماری MVVM در اندروید و ViewModel مشترک استفاده می شود که در قسمت دوم آموزش فرگمنت در اندروید و ارسال پارامترها با جزئیات کامل به آن خواهیم پرداخت.

ویدیوی آموزشی این درس: در فیلم آموزشی این صفحه، ساخت اولین فرگمنت، اتصال آن به اکتیویتی در اندروید استودیو و نحوه کار با متدهای چرخه حیات به شکل زنده در زبان جاوا تشریح شده است.

امتیاز و نظرات

۰.۰ (۰ نظر)
برای ثبت دیدگاه باید وارد حساب کاربری شوید. ورود

هنوز نظری ثبت نشده است. اولین نفر باشید.