وبلاگ انجمن برنامه نویسی اندروید

p30droid.com
برنامه نویسی اندروید|آموزش برنامه نویسی اندروید|اندروید استودیو
پنجشنبه, ۲ شهریور ۱۳۹۶، ۰۸:۰۹ ب.ظ

آموزش fragment دراندروید

یک قطعه (Fragment) بخشی از واسط کاربری یک اپلیکیشن و یا رفتاری است که شما میتوانید آن را در یک فعالیت قرار دهید. این مولفه امکان طراحی پیمانه ای بیشتر فعالیت ها را فراهم میکند. می توان گفت که یک قطعه نوعی فعالیت فرعی (sub-acitivity) است. در ادامه نکات مهم مربوط به قطعه آورده شده است .

یک قطعه، دارای صفحه بندی خاص خود و همچنین رفتارهای مربوط به خود و callback های چرخه حیات مختص خود است.

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

شما می توانید برای ایجاد یک واسط کاربری چند بخشی، چندین قطعه را با هم ترکیب کنید.

یک قطعه می تواند در چندین فعالیت مورد استفاده قرار بگیرد.

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

یک قطعه می تواند رفتاری را پیاده سازی کند که دارای هیچ مولفه واسط کاربری نیست.

قطعات در نسخه­ی Honeycomb اندروید به Android API اضافه شده اند که شامل API نسخه 11 است.

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

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

اپلیکیشن در زمان اجرا بر روی دستگاهی با سایز تبلت، می تواند شامل دو قطعه در فعالیت A باشد. با این حال، بر روی صفحه نمایش دستگاهی مانند گوشی، فضای کافی برای هر دو قطعه وجود ندارد. بنابراین فعالیت A، فقط شامل قطعه ای برای نمایش لیست مقاله ها خواهد بود و زمانی که کاربر یک مقاله را انتخاب می کند، فعالیت B آغاز می شود که شامل قطعه­ی دوم برای خواندن مقاله است.

آموزش اندروید     آموزش برنامه نویسی اندروید    برنامه نویسی اندروید    اندروید استودیو     آموزش اندروید استودیو

چرخه حیات قطعه

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

فاز 1: زمانی که یک قطعه ایجاد میشود، می تواند وضعیت های زیر را داشته باشد .


1
2
3
4
onAttach()
onCreate()
onCreateView()
onActivityCreated()

فاز 2: زمانیکه قطعه قابل مشاهده میشود، می تواند وضعیت های زیر را داشته باشد .

1
2
onStart()
onResume()

فاز 3: زمانیکه یک قطعه به مود(حالت) پس زمینه میرود، می تواند وضعیت های زیر را داشته باشد .

1
2
onPaused()
onStop()

فاز 4: زمانیکه یک قطعه از بین می رود، می تواند وضعیت های زیر را داشته باشد .

1
2
3
4
5
onPaused()
onStop()
onDestroyView()
onDestroy()
onDetach()
<android-آموزش اندروید-آموزش برنامه نویسی اندروید

چطور از قطعات استفاده کنیم؟

در ادامه تعدادی گام ساده برای ایجاد قطعات، ارائه شده است.

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

سپس بر اساس تعداد قطعات، کلاس هایی را ایجاد کنید که کلاس Fragment را توسعه می دهند. کلاس Fragment دارای توابع callback مطرح شده در قسمت بالا است. شما می توانید هر کدام از توابع را بسته به نیاز خود override کنید.

متناظر با هر قطعه، شما باید فایل های صفحه بندی را در فایل XML ایجاد کنید. این فایل ها شامل صفحه بندی مربوط به قطعات تعریف شده هستند.

در نهایت، فایل فعالیت را برای تعریف منطق قطعات جایگزین شده بر مبنای نیاز خود،تغییر دهید.

در ادامه لیست متدهای مهمی که شما می توانید در کلاس fragment خود، آنها را override کنید، ارائه شده است.

onCreate() : سیستم این متد را در زمان ایجاد قطعه فراخوانی می کند. شما باید در این متد اجزای ضروری قطعه را مقدار دهی اولیه کنید. این اجزا، آنهایی هستند که در زمان متوقف شدن یا از کار افتادن قطعه و شروع به کار مجدد آن، نمی خواهید مقادیر آنها را از دست بدهید.

onCreateView() : سیستم این callback را زمانی فراخوانی می کند که قطعه برای اولین بار واسط کاربری خود را ترسیم می کند. برای ترسیم یک واسط کاربری برای قطعه خود، شما باید یک مولفه View از این متد برگردانید که ریشه (root) صفحه بندی قطعه شماست. در صورتی که قطعه یک واسط کاربری را ایجاد نمی کند، شما می توانید null را برگردانید.

onPause() : سیستم این متد را در زمان بروز اولین نشانه مبنی بر ترک قطعه توسط کاربر، فراخوانی میکند. اینجا معمولا جایی است که تمام مواردی که فراتر از نشست فعلی کاربر باید ذخیره شده و باقی بمانند، اعمال می شوند.

مثال:

این مثال، شرح می­دهد که شما چگونه می تواند Fragments خود را ایجاد کنید. در اینجا ما دو قطعه را ایجاد می کنیم. یکی از آنها زمانی استفاده می شود که دستگاه در حالت افقی (landscape mode) قرار دارد و دیگری برای زمانیست که دستگاه در حالت عمودی (portrait mode) قرار دارد. مراحل زیر را شبیه به آنچه که ما در مثال Hello World Example انجام دادیم، دنبال کنید.

مرحله
توصیف
1
از Eclipse IDE برای ایجاد یک اپلیکیشن اندرویدی استفاده کنید و آن را تحت پکیج com.example.myfragments با یک فعالیت خالی، MyFragments بنامید.
2
فایل فعالیت اصلی MainActivity.java را همانطور که در ادامه نشان داده شده است، تغییر دهید. در اینجا ما جهت گیری دستگاه (افقی یا عمودی) را چک میکنیم و با توجه به آن بین قطعات مختلف جابجا می شویم.
3
برای تعریف قطعات و متدهای مربوط به آنها، دو فایل جاوای PM_Fragment.java و LM_Fragement.java را تحت پکیج com.example.myfragments ایجاد کنید.
4
فایل های صفحه بندی res/layout/lm_fragment.xml و res/layout/pm_fragment.xml را ایجاد کنید و صفحه بندی خود را برای هر دو قطعه تعریف کنید.
5
محتوای پیش فرض فایل res/layout/activity_main.xml را برای وارد کردن دو قطعه تغییر دهید.
6
ثابت های لازم را در فایل res/values/strings.xml تعریف کنید.
7
برای راه اندازی امولاتور اندروید اپلیکیشن را اجرا کنید و نتایج تغییرات اعمال شده در اپلیکیشن را بررسی کنید.

در ادامه محتوای تغییر یافته­ی فایل فعالیت اصلی

src/com.example.mycontentprovider/MainActivity.java ارائه شده است.

<

آموزش اندروید     آموزش برنامه نویسی اندروید    برنامه نویسی اندروید    اندروید استودیو     آموزش اندروید استودیو

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی