فرگمنت (Fragment) در برنامهنویسی اندروید
فرگمنت یک قسمت کوچک و قابل استفاده مجدد از رابط کاربری (UI) است که به عنوان یک بخش مستقل از یک اکتیویتی (Activity) در برنامههای اندروید استفاده میشود. با استفاده از فرگمنتها، میتوان از رویکردهای معماری بهتری برای تقسیم و مدیریت کد و UI برنامه استفاده کرد. از مزایای استفاده از فرگمنتها میتوان به موارد زیر اشاره کرد:
- مدیریت بهتر UI: از طریق فرگمنتها، قابلیت ساختاردهی بهتری به صفحات برنامه وجود دارد و امکان استفاده مجدد از بخشهای کد و UI فراهم میشود.
- پشتیبانی از طیف گستردهتری از دستگاهها: فرگمنتها به برنامهنویسان امکان میدهد تا به راحتی رابط کاربریهایی را برای دستگاهها با اندازهها و اندازههای نمایش مختلف ایجاد کنند.
- کد قابلبازاستفاده: فرگمنتها را میتوان در بیش از یک اکتیویتی استفاده کرد و کد مرتبط با فرگمنت را میتوان به راحتی مجدداً استفاده کرد.
چرخه حیات فرگمنت (Fragment Lifecycle) و کارکرد هر متد
هر فرگمنت در اندروید یک چرخه حیات (Lifecycle) خاص دارد که تغییرات مختلفی در آن اتفاق میافتد. این چرخه حیات شامل متدهایی است که در طول زمان اجرا میشوند و به برنامهنویس امکان میدهد برای هر یک از این مراحل، دستورات مشخصی اجرا کند. در زیر، مراحل چرخه حیات فرگمنت و کارکرد هر متد را توضیح میدهیم:
- onAttach: این متد زمانی فراخوانی میشود که فرگمنت به یک اکتیویتی متصل میشود. میتوانید در این متد کارهای مرتبط با متصل شدن فرگمنت به اکتیویتی انجام دهید، مانند نگهداری ارتباط با اکتیویتی مرتبط.
- onCreate: این متد زمانی که فرگمنت ایجاد میشود، فراخوانی میشود. میتوانید متغیرها و تنظیمات اولیه مرتبط با فرگمنت را در این متد انجام دهید.
- onCreateView: در این مرحله، اجازه میدهید تا رابط کاربری (UI) فرگمنت ایجاد شود. باید یک View را برگردانید که نمایش رابط کاربری فرگمنت باشد.
- onActivityCreated: این متد زمانی فراخوانی میشود که اکتیویتی مرتبط با فرگمنت کاملاً ایجاد شده باشد. اینجا میتوانید به عنوان مثال به رفتار اکتیویتی دسترسی پیدا کنید و با آن تعامل کنید.
- onStart: این متد زمانی فراخوانی میشود که فرگمنت قابل رؤیت برای کاربر میشود. در اینجا میتوانید عملیاتی که باید قبل از نمایش به کاربر انجام شود را اجرا کنید.
- onResume: این متد زمانی که فرگمنت به حالت فعال درآمده و برای تعامل با کاربر آماده است، فراخوانی میشود. اینجا میتوانید عملیاتهای مرتبط با شروع تعامل با کاربر را انجام دهید.
- onPause: این متد زمانی که فرگمنت به حالت Pause منتقل میشود، فراخوانی میشود. معمولاً از این متد برای ذخیرهسازی تغییرات یا ایستادن یک عملیات استفاده میشود.
- onStop: این متد زمانی که فرگمنت به حالت مخفی (hidden) منتقل میشود یا اکتیویتی مرتبط با آن متوقف میشود، فراخوانی میشود. از این متد برای متوقف کردن عملیاتهای مصرف کننده منابع استفاده میشود.
- onDestroyView: این متد زمانی که UI فرگمنت از حالت نمایشی خارج میشود، فراخوانی میشود. میتوانید در این مرحله منابع UI را آزاد کرده و منابع مصرفی را رها کنید.
- onDestroy: این متد زمانی که فرگمنت قابلبازاستفاده نیست و تمام منابع آزاد شده، فراخوانی میشود. اینجا میتوانید کارهای پاکسازی نهایی را انجام دهید.
- onDetach: در این مرحله، فرگمنت از اکتیویتی جدا میشود و هیچ ارتباطی با آن ندارد. میتوانید کارهای تمیزکاری و مرتبط با جداشدن انجام دهید.