مفهوم فرگمنت و فلسفه وجودی آن در اکوسیستم اندروید
با ورود تبلت ها، نمایشگرهای تاشو و تنوع گسترده ابعاد صفحهنمایش در دنیای اندروید، توسعه دهندگان نیازمند ابزاری بودند که بتوانند بخش های مختلف رابط کاربری را به صورت ماژولار و مستقل طراحی کنند. در مباحث طراحی رابط کاربری آموزش برنامه نویسی اندروید، کامپوننت Fragment (فرگمنت) به عنوان یک زیربخش مستقل از رابط کاربری درون یک Activity معرفی شد که دارای چرخه حیات (Lifecycle) و فایل طراحی لایه اختصاصی خود است.
یک فرگمنت را میتوان به عنوان یک «مینیاکتیویتی» در نظر گرفت؛ با این تفاوت مهم که فرگمنت ها همواره باید توسط یک Activity میزبان مدیریت شوند و نمیتوانند به صورت مستقل در سیستمعامل اجرا گردند. این ماژولار بودن به شما اجازه میدهد یک طراحی واحد را هم در گوشی موبایل (به صورت صفحات پشت سر هم) و هم در تبلت (به صورت چند پنل در کنار یکدیگر) مورد استفاده قرار دهید.
چرخه حیات اختصاصی Fragment
چرخه حیات فرگمنت شباهت های زیادی به اکتیویتی دارد اما به دلیل وابستگی مستقیم به اکتیویتی میزبان، دارای متدهای تخصصی بیشتری است که رعایت ترتیب آنها مانع بروز کرش های ناگهانی میشود:
- متد onAttach: اولین نقطهای است که فرگمنت به اکتیویتی میزبان متصل شده و مرجع کانتکست دریافت میکند.
- متد onCreateView: مسئولیت ساخت و اینفلیت کردن فایل لایه گرافیکی XML فرگمنت را بر عهده دارد. در این متد ریشه لایه بندی بازگردانده میشود.
- متد onViewCreated: بهترین و امنترین نقطه برای یافتن ویجت ها با
findViewByIdو تنظیم لیسنرها است؛ چرا که در این مرحله ویوها به طور کامل در حافظه بارگذاری شدهاند. - متد onDestroyView و onDetach: متدهایی برای پاک سازی نهایی و آزاد کردن منابع گرافیکی پیش از خروج فرگمنت از حافظه.
روش های تعبیه فرگمنت در برنامه
فرگمنت ها را میتوان به صورت استاتیک درون فایل XML اکتیویتی از طریق تگ <fragment> قرار داد؛ اما شیوه انعطافپذیرتر و حرفهایتر، اضافه کردن داینامیک آنها در زمان اجرای برنامه است که برای اشتراک داده های آن با متدهای آموزش معماری MVVM در اندروید و ViewModel مشترک استفاده می شود که در قسمت دوم آموزش فرگمنت در اندروید و ارسال پارامترها با جزئیات کامل به آن خواهیم پرداخت.
امتیاز و نظرات
هنوز نظری ثبت نشده است. اولین نفر باشید.