به دنبال یادگیری برنامهنویسی اندروید هستید؟
دوره های مرتبط با برنامه نویسی اندروید الکامکو را به شما پیشنهاد می کنیم، به دلایل زیر ↓
فرگمنت اندروید چیست؟ فرگمنت در برنامه نویسی اندروید چه کاربردی دارد؟ انواع فرگمنت در اندروید کدام ها هستند؟ چرخه عمر Android Fragment چگونه است؟ مقایسه Activity و fragment برنامه نویسی اندروید چگونه است؟ در این مقاله اندروید می خواهیم به این سوالات پاسخ دهیم. پس برای آموزش fragment در اندروید تا آخر با این مطلب از سایت اموزش برنامه نویسی الکامکو همراه ما باشید.
فرگمنت اندروید یکی از مولفه های اصلی در برنامه نویسی اندروید هستند که به شما این امکان را می دهند تا با انعطاف بیشتری اپلیکیشن طراحی کنید. فرگمنت ها جز مستقلی نیستند و باید به یک اکتیویتی متصل شوند. فرگمنت در واقع بخشی از یک activity در اندروید است که امکان توسعه و انجام فعالیت بیشتر را برای یک activity فراهم می کند. بصورت فنی تر فرگمنت یک کلاس جاوا در اندروید است. این کلاس متدهای خاص خودش را دارد که به تعدادی از این مدتها چرخه عمر گفته می شود. با استفاده از این متدها می توانید عملکرد Fragment را در مرحله های مختلف زندگی آن، کنترل کنید. فرگمنت در اندروید می تواند به صورت پویا اضافه و حذف شود تا بهترین رابط کاربری را برای دستگاه بوجود آورد.
فرگمنت ها در نسخه ۳٫۰ (API Level ۱۱) به اندروید اضافه شدند. هدف طراحی و معرفی این جزء از برنامه های اندرویدی، توانایی ساخت رابط های کاربری منعطف تر در دستگاه هایی با صفحه های بزرگ، مانند تبلت ها بود. چون در صفحه هایی مانند تبلت ها، فضای زیادی وجود دارد و یک اپلیکیشن باید بتواند از این فضای اضافه، نهایت استفاده را داشته باشد. همچنین این اتفاق باید بدون نیاز به اعمال تغییرات پیچیده و اساسی در سلسه مراتب View اندروید رخ می داد.
به همین دلیل اجزایی طراحی و ساخته شدند که وقتی آنها را به اکتیویتی اضافه می کنید، می توانید صفحه را به چندین قسمت تقسیم کنید که هرکدام عملکرد خاص خودشان را دارند. بدون اینکه نیاز داشته باشید عملکرد های پیچیده ای که در Back Stack اکتیویتی رخ می دهد را کنترل و مدیریت کنید. همه این امکانات امروزه با استفاده از Fragment Support Library در دسترس شما قرار دارند.
اساسا فرگمنت به سه مرحله زیر تقسیم می شود:
همچنین بخوانید: زبان برنامه نویسی جاوا چیست و چه کاربردی دارد؟
همچنین بخوانید: Java با JavaScript فرق می کند!
همچنین بخوانید: انواع نسخه های جاوا، اخرین نسخه زبان جاوا، فهمیدن ورژن جاوا، کدام نسخه جاوا بهتر است؟
همانطور که در مقاله مربوط به اکتیویتی اندروید گفتیم هر اکتیویتی تمام صفحه اپلیکیشن را در برمی گیرد. با استفاده از اکتیویتی ها، دست شما زیاد برای پیاده سازی رابط های کاربری پیچیده و منعطف باز نیست. به همین دلیل به اجزایی نیاز داریم که بتوانند یک صفحه را به چندین قسمت تقسیم بندی کنند. به اجزایی که بتوانند به صورت صفحه های کوچک از وسط و پایین صفحه ظاهر شوند. یا حتی اجزایی که بتوانند کاری کنند چندین صفحه را در یک صفحه نمایش بدهید.
به همین دلیل است که وجود فرگمنت ها در برنامه نویسی اندروید از اهمیت بسیار زیادی برخوردار هستند و ساختن بسیاری از اپلیکیشن هایی که امروز میبینید، بدون استفاده از Fragment ها امکان پذیر نمی باشد.
فرگمنت ها امکانات زیادی را برای شما در برنامه نویسی اندروید فراهم می کنند که می توانید در هرکدام از سناریو های زیر از Fragment ها استفاده کنید:
هر فرگمنت در اندروید نویسی از دو قسمت تشکیل شده است. یعنی برای هر فرگمنت که می خواهید داشته باشید، باید دو فایل جداگانه بسازید:
برای ساخت فرگمنت اندروید باید دو کار را به طور کلی انجام بدهیم:
برای درست کردن یک فرگمنت در اندروید استودیو روی app راست کلیک کنید و مسیر زیر را طی کنید:
New -> Fragment -> Fragment (blank)
در آخر یک layout از جنس xml و یک Activity جاوایی درست کنید.
برای بررسی جزئیات به دوره آموزش ساخت برنامه های اندروید مراجعه کنید.
فرگمنت یکی از کلاس های جاوا است که می توان از آن چندین بار استفاده کرد. این کلاس دارای متدهایی می باشد که به آنها متدهای چرخه عمر یا Life Cycle Method گفته می شود. این متد ها برای مدیریت و کنترل مراحلی است که یک Fragment در مدت زمانی که وجود دارد (زنده است) استفاده میشود.
یک فرگمنت از زمانی که در صفحه اپلیکیشن نشان داده می شود، تا زمانی که از روی صفحه حذف می شود، مراحل مختلفی را طی می کند. این مراحل با توجه به اتفاقاتی که در گوشی موبایل رخ می دهد، کارهایی که دیگر اپلیکیشن ها انجام می دهند و تعاملاتی که کاربر با دستگاه دارد، می توانند تغییر کنند و به مراحل دیگری تبدیل شوند.
یعنی یک فرگمنت دارای مراحل مختلفی در زمان اجرای خود می باشد. برنامه نویس هم با استفاده از متدهای مدیریت چرخه عمر Fragment، می تواند مشخص کند که در هرکدام از این مرحله ها، فرگمنت چه رفتاری از خودش نشان بدهد. به مجموعه این مراحل Life Cycle گفته میشود.
نکته مهمی که باید بدانید، این است که چرخه عمر یک فرگمنت به چرخه عمر اکتیویتی میزبان آن وابسته است. هرچند این متدها در Fragment و اکتیویتی با یکدیگر تفاوت دارند و تعداد آنها هم متفاوت است، اما متدهای Life Cycle فرگمنت به متدهای چرخه عمر اکتیویتی متصل می شوند و با وابستگی به آنها اجرا می شوند.
همچنین بخوانید » دوره آموزش net core. مهارت محور با ساخت پروژه های حرفه ای از پایه تا فوق پیشرفته
چرخه حیات فرگمنت وضعیت های زیر را دارد:
onAttach() : این متد هنگامی که فرگمنت به اکتیویتی اضافه شده خوانده می شود.
onCreate() : این متد برای مقداردهی در هنگام ساخت فرگمنت فراخوانی می شود.
onCreateView() : این متد زمانی فراخوانده می شود که فرگمنت ایجاد شده و آماده ساخت واسط کاربری (UI) است. در اکتیویتی این وظیفه بر عهده onCreate() بود.
onActivityCreate() : این متد در زمانی فراخوانده می شود که اکتیویتی میزبان فرگمنت اجرا شده است.
onStart() : این متد زمانی فراخوانده می شود که رابط کاربری فرگمنت آماده نمایش است.
onResume() : در این زمان فرگمنت فعال است.
onStop() : این متد در زمان پایان فعالیت فرگمنت اجرا می شود و اگر لازم است چیزی ذخیره شود در این مرحله باید انجام داد.
onDestroyView() : این متد زمانی فراخوانده می شود که UI فرگمنت از اکتیویتی حذف می شود.
onDestroy() : در زمان انتهای حیات فرگمنت این متد اجرا می شود.
onDetach(): زمانی فراخوانده می شود که فرگمنت به طور کامل از اکتیویتی میزبان خود جدا شده است.
فرگمنت ها همیشه توسط اکتیویتی ها میزبانی می شوند یعنی حتما باید یک اکتیویتی وجود داشته باشد و به همین دلیل چرخه حیات اکتیویتی بر روی فرگمنت ها نیز تاثیر گذار است. به عنوان مثال اگر اکتیویتی on Pause شود همه فرگمنت های آن اکتیویتی هم on Pause می شود.
شاید شما به عنوان برنامه نویس اندروید برای ساخت اپلیکیشن اندروید از فرگمنت ها استفاده نمی کنید و میگید ما بدون اون هم کارمون انجام میشه. بله ولی استفاده از فرگمنت ها باعث می شوند برنامه شما تبدیل به یک برنامه اصیل و حرفه ای شود و اگر از فرگمنت در کد نویسی اندروید استفاده کنید مزیت های زیر را برای شما دارند:
8همچنین بخوانید: استفاده از برنامه ساز اندروید یا برنامه نویسی اندروید؟
همچنین بخوانید: فروشگاه ساز اندروید چیست؟ مزایا و معایب اپلیکیشن سازهای فروشگاهی
با استفاده درست از ساختار Fragment در اندروید بسیاری از محدودیت ها در برنامه ها رفع می شود. در این آموزش شما را با فرگمنت در اندروید آشنا کردیم. در صورتیکه تازه برنامه نویسی را شروع کردید و می خواهید حرفه ای کار کنید باید یکسری از آموزش ها را برای ساخت هر اپلیکیشنی بلد باشید تا بتوانید به عنوان یک برنامه نویس اندروید در جایی مشغول شوید یا پروژه بگیرید. توصیه می شود دوره زیر را تهیه کنید. در این دوره آموزش کامل فرگمنت ها (Fragment) در اندروید به شما توضیح داده می شود.
برای یادگیری این مبحث مثال ها و نکته های متعددی را در فایل ویدئویی آورده ایم که با تهیه این درس و مشاهده ویدئو ها به طور کامل به این مبحث مسلط خواهید شد.
به دنبال یادگیری برنامهنویسی اندروید هستید؟
دوره های مرتبط با برنامه نویسی اندروید الکامکو را به شما پیشنهاد می کنیم، به دلایل زیر ↓
بخش های دوره آموزش طراحی برنامه اندروید با جاوا در اندروید استودیو
همچنین ببینید» همه دوره های برنامه نویسی اندروید مطابق با آموزش جاوا با اندروید استودیو در راستای ساخت اپ های اندرویدی
مقدمه و معرفی دوره کاتلین
همچنین بخوانید » سایر ثبت نام دوره های کاتلین | لیست کتاب های آموزش زبان Kotlin | kotlin یا flutter | فرق کاتلین با جاوا
پکیج آموزش برنامه نویسی اندروید شامل دوره های جاوا و کاتلین می باشد. همچنین دارای ۷ دوره حرفه ای دیگر برای تبدیل شدن به یک متخصص اندروید کامل می باشد.
بخش های مختلف دوره جامع متخصص اندروید
بخش های دوره فلاتر
همچنین بخوانید » همه دوره های فلاتر | تفاوت React Native و Flutter | آینده Flutter چگونه است؟ | لیست کتاب های اموزش flutter | فیلم های آموزش Flutter رایگان | نصب فلاتر | اموزش زبان برنامه نویسی دارت
مقالات مرتبط با آموزش برنامه نویسی اندروید:
قیمت اصلی 3,000,000 تومان بود.2,700,000 تومانقیمت فعلی 2,700,000 تومان است.
قیمت اصلی 11,000,000 تومان بود.8,800,000 تومانقیمت فعلی 8,800,000 تومان است.
قیمت اصلی 2,000,000 تومان بود.1,800,000 تومانقیمت فعلی 1,800,000 تومان است.
قیمت اصلی 2,000,000 تومان بود.1,800,000 تومانقیمت فعلی 1,800,000 تومان است.
قیمت اصلی 6,000,000 تومان بود.5,400,000 تومانقیمت فعلی 5,400,000 تومان است.
قیمت اصلی 2,000,000 تومان بود.1,800,000 تومانقیمت فعلی 1,800,000 تومان است.
قیمت اصلی 8,000,000 تومان بود.7,200,000 تومانقیمت فعلی 7,200,000 تومان است.
قیمت اصلی 11,000,000 تومان بود.990,000 تومانقیمت فعلی 990,000 تومان است.
قیمت اصلی 2,000,000 تومان بود.1,800,000 تومانقیمت فعلی 1,800,000 تومان است.
قیمت اصلی 2,000,000 تومان بود.1,800,000 تومانقیمت فعلی 1,800,000 تومان است.
قیمت اصلی 5,500,000 تومان بود.4,950,000 تومانقیمت فعلی 4,950,000 تومان است.