شما اینجا هستید: خانه » برنامه نویسی اندروید » مفاهیم اولیه برنامه نویسی اندروید » آموزش فرگمنت ها ( Fragment ) در اندروید

آموزش فرگمنت ها ( Fragment ) در اندروید

فرگمنت چیست ؟ ( اندروید )

فایل آموزش ویدیویی فارسی و با کیفیت بالا قرار داده شد لطفا از لینک زیر خرید فرمائید 

5000 تومان – خرید

 

فرگمنت ها قسمت های کوچکی از یک اکتیویتی هستند که خود چرخه های حیات خاص خود را دارند ، اگر گفته ی من اشتباه نباشد ، فرگمنت ها یک نوع زیر اکتیویتی (sub-Activity ) محسوب میشوند.

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

  • هر فرگمنت ، Layout خاص ، رفتار و چرخه ی حیات خاص خود را دارد .
  • شما میتوانید هر فرگمنت را ، روی اکتیویتی که در حال اجراست اضافه یا پاک کنید
  • شما میتوانید چندین فرگمنت را در یک اکتیویتی با هم ترکیب کنید و برنامه ی چند UI خود را بسازید 
  • هر فرگمنت میتواند توسط چندین اکتیویتی استفاده شود 
  • چرخه ی حیات فرگمنت های یک اکتیویتی رابطه ی تنگاتنگی با چرخه ی حیات آن اکتیویتی دارند یعنی با Pause شدن اکتیویتی ، تمام فرگمنت ها باید Stop شوند
  • فرگمنت میتواند حتی بدون رابط کاربری (ui) پیاده سازی شود
  • فرگمنت ها از Api شماره ی ۱۱ اندروید به بعد اضافه شده اند 

شما میتوانید با ارث بری از کلاس  Fragment  یک فرگمنت اختصاصی برای خود بسازید و همچنین میتوانید با اضافه کردن تگ  <fragment>  به داخل layout ، اکتیویتی مورد نظر ، فرگمنت را به آن اضافه کنید 

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

حال ما میتوانیم یک اکتیویتی داشته باشیم ولی هر اکتیویتی شامل چندین فرگمنت باشد که هر کدام فایل layout خاص و همچنین چرخه ی حیات خاص خود را دارد . 

تصویر زیر مثال ساده ای از کاربرد فرگمنت ها میباشد که نشان میدهد چگونه دو فرگمنت ترکیب شده و در یک اکتیویتی نمایش داده میشود . تصویر زیر مربوط که صفحه ی تبلت و یک گوشی موبایل با رزولیشن کمتر هست :

آموزش فرگمنت ها در اندروید

آموزش فرگمنت ها در اندروید

فرگمنت در اندروید[/caption]

 

وقتی که برنامه روی تبلت اجرا شود ، اپلیکیشن ، دو فرگمنت را درون اکتیویتی A ( Activity A ) قرار داده است ولی وقتی برنامه روی گوشی موبایل نصب شده است رزولیشن صفحه به اندازه ای نیست که همانند تبلت دو فرگمنت هم زمان نمایش داده شود بخاطر همین دو فرگمنت A و B بطور جداگانه درون اکتیویتی های مجزا نمایش داده میشود 

چرخه ی حیات یک فرگمنت اندرویدی :

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

چرخه ی حیات فرگمنت اندروید

چرخه ی حیات فرگمنت اندروید

چرخه ی حیات فرگمنت اندروید[/caption]

 

مثل تمام کلاس های اندرویدی ، فرگمنت ها نیز متدهایی دارند ک میتوانید آنها را override کنید که در لیست زیر همه ی آنها آمده است : 

  • onAttach()  در این متد منبعی را برای اکتیویتی جهت کارهای پیاده سازی دریافت میکنید
  • onCreate() این متد زمانی اجرا میشود که فرگمنت بوجود بیاید ، شما باید اجزای ضروری را که قرار است هنگام pause یا stop شدن حفظ شود و با resume برگردانده شود ، را در اینجا تعریف کنید 
  • onCreateView()  این متد زمانی اجرا میشود که فرگمنت آماده ی نمایش رابط کاربری خود هست برای اینکه بتوانید UI خاصی را برای فرگمنت خود نمایش دهید باید اجزای آن را توسط این متد برگردانید . این متد ریشه ی اصلی UI فرگمنت شما هست و اگر فرگمنت شما بدون رابط کاربری هست میتوانید null برگردانید
  • onActivityCreated()  این متد دقیقا بعد از متد onCreateView()  اجرا میشود زمانی که اکتیویتی اصلی که فرگمنت مربوط به آن هست بوجود بیاید.  فرگمنت و اکتیویتی همزمان بوجود می آیند زمانی که رابط کاربری اکتیویتی نمایش داده شود . در این مرحله ، شما میتوانید به تمام view ها با استفاده از متد  findViewById()  دسترسی داشته باشید.
  • onStart() زمانی که فرگمنت نمایش داده شد این متد برای یکبار اجرا میشود . 
  • onResume() از نامش مشخص هست زمانی که فرگمنت فعالیت خود را از سربگیرد
  • onPause() این متد زمانی اجرا میشود که کاربر فرگمنت را ترک کند به اصطلاحی فرگمنت به حالت pause درآید . در این متد هست که شما باید تمام تغییرات را ذخیره کنید 
  • onStop() زمانی که فرگمنت متوقف شود این متد اجرا میشود 
  • onDestroyView() رابط کاربری مربوط به فرگمنت ، بعد از اجرای این متد از بین میرود 
  • onDestroy()  این متد برای پاکسازی کامل وضعیت فرگمنت اجرا میشود اما تضمین نمیشود که توسط پلتفرم اندروید صدا زده شود . 

استفاده از فرگمنت در اندروید (Android Fragment ) :

مراحل زیر گام های ساخت یک فرگمنت در اندروید میباشد : 

  • اول از همه تصمیم بگیرید که چطوری میخواهید چندین فرگمنت را روی یک اکتیویتی استفاده کنید ، برای مثال دو فرگمنت طراحی کنیم که حالت افقی یا عمودی بودن صفحه نمایش را کنترلل کنند 
  • گام دوم ، مشخص کردن تعداد فرگمنت ها و ساختن فایل کلاس آنهاست این کلاس ها باید از کلاس اصلی Fragment  ارث بری کنند . پیاده سازی متد های هر کلاس برای کلاس فرگمنت ذکر شده نیاز هست که البته میتوانید متدهای هر فرگمنت که مورد نیاز هست را override کنید 
  • گام سوم ، به ازای هر فرگمنتی که میسازید فایل های layout آنها را نیز طراحی کنید که فایل های xml هستند 
  • در نهایت فایل اکتیویتی را که میخوااهید فرگمنت ها را داشته باشد ویرایش کنید 

انواع فرگمنت در اندروید :

بطور کلی فرگمنت ها به سه قسمت تقسیم میشوند که در زیر آمده است : 

  • Single frame fragments
  • List fragments
  • Fragments transaction

آموزش هر سه قسمت را به زودی بطور مفصل آماده میکنم و در سایت میزارم ! 

موفق باشید

ما سایت سامنتا را با هدف انتقال دانش و تجربیات خود از بهترین متدهای آموزشی دنیا راه اندازی کردیم . محتویات این سایت از ابتدا براساس سلیقه ، نظرات و پیشنهادهای کاربران ساخته شده است . به امید روزی که سیستم آموزشی ایران متحول و از شیوه های نوین آموزشی استفاده کنند

http://Samenta.ir

4 دیدگاه

  1. منتظریم!

  2. ممنونم عالی بود!

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *