فیلم آموزش فرگمنت fragment اندروید استودیو

فیلم آموزش فرگمنت fragment اندروید استودیو

فیلم آموزش فرگمنت fragment اندروید استودیو

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

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

پیشنهاد ویژه حتما بخوانید : فیلم آموزش خواندن اطلاعات SqlLite Select Infromation اندروید استودیو

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

هر فرگمنت ، Layout خاص ، رفتار و چرخه ی حیات خاص خود را دارد .

شما میتوانید هر fragment فرگمنت را ، روی اکتیویتی که در حال اجراست توسط تراکنش ها (FragmentTransaction و آبجکتی از نوع FragmentManager) یا Add , Remove , Replace کنید که مثالی در این مورد توی فیلم آموزشی زدیم.

شما می توانید در یک اکتیویتی چندین فرگمنت داشته باشید و برنامه ی چند UI خود را بسازید  هر فرگمنت میتواند توسط چندین اکتیویتی استفاده شود.

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

شما میتوانید با extands کردن یا به اختصار ارث بری از کلاس  fragment  یک فرگمنت اختصاصی برای خود بسازید سپس کلاس ایجاد شده را به فرگمنت معرفی کنید که توسط android:name این خاصیت امکان پذیر می باشد. و همچنین میتوانید با اضافه کردن تگ  به داخل layout ، اکتیویتی مورد نظر ، فرگمنت را به آن اضافه کنید  قبل از معرفی شدن فرگمنت ها ، محدودیت های زیادی وجود داشت چون  تنها یک فعالیت را در صفحه ی نمایش اندروید ، در یک زمان میتوانست به نمایش گذاشته شود .
مشکلی وجود داشت این بود که نمی توانستیم اکتیویتی جاری که در صفحه نمایش داده میشد را به چند قسمت تقسیم کنیم که هر کدام فعالیت خود را داشته باشد . ولی با معرفی فرگمنت ها fragment ها ، این محدودیت ها از بین رفت و برنامه های اندرویدی از انعطاف بالایی برخوردار شد .  حال ما میتوانیم یک اکتیویتی داشته باشیم ولی هر اکتیویتی شامل چندین فرگمنت باشد که هر کدام فایل layout خاص و همچنین چرخه ی حیات خاص خود را دارد .  تصویر زیر مثال ساده ای از کاربرد فرگمنت ها میباشد که نشان میدهد چگونه دو فرگمنت ترکیب شده و در یک اکتیویتی نمایش داده میشود .

فرگمنت fragment اندروید استودیو

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

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

اما اگر بخواهیم مثالی همراه با سورس کد براتون بزنیم قبل از اینکه سورس کد را مشاهده کنید دقت کنید من سه تا اکتیویتی دارم که داخل اولین سورس کد زیر فرگمنت رو فراخوانی کرده ام و داخل یک Framelayout نوشتم تا قاب کلی برنامه ای من باشه و کاری خاصلی انجام نمیده این ویو و فقط قابی برای نمایش می باشد زیرا می خواهیم دو تا دکمه داشتیم که فرگمنت ها رو فراخوانی کنیم:

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

اکتیویتی اول و سورس کد بخش xml و کلاس fragmentclass1 :

و کد جاوا یا کلاس fragmentclass1 :

دیزاین کلی و کاری که می خواهیم انجام بدیم از اکتیویتی اول شروع شده :

design xml exmple fragment

 

پیشنهاد ویژه حتما بخوانید :فیلم آموزش ارسال پیامک sms اندروید استودیو Android Studio

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

توضیح سورس کد بالا :

تعریف فرگمنت منجیر برای مدیریت کردن فرگمنت ها و تراکنش ها :

و هم چنین جهت اجرای تراکنش و عملیات Replace شدن نیاز هست که setonclick رو برای دکمه یک و دو بنویسیم و در دکمه یک دستور زیر که برای تراکنش و یا عملیات جابه جایی صورت می گیرد رو می نویسیم  اما دقت کنید لطفا برای جابه جایی فرگمنت ها نیاز به یک قاب داریم که در بالا اشاره کرده ایم :

و سورس کد دکمه دوم و کلاس دوم :

پس از کلیک کردن روی دکمه اول کلاس و ویو xml زیر فراخوانی می شود :

design xml exmple fragmentclass1

 

و سپس اگر روی دکمه دوم کلیک کنید فرگمنت دوم فراخوانی می شود.

design xml exmple fragmentclass2

 

امیدوارم آموزش امروز مورد پسندتون قرار بگیره دوستان فیلم آموزشی این قسمت هم آماده شده می توانید دانلود کنید تا توضیحات بیشتر را در قالب فیلم آموزشی ببنید.

خانه اندروید دانلود فیلم آموزشی  لطفا فیلم آموزشی رو هم ببنید برای توضیحات بیشتر :

homeandroid.ir  دانلود فیلم آموزش فرگمنت fragment اندروید استودیو

حجم فیلم آموزشی   حجم فیلم : ۶۳ مگابایت

پسورد فایل   پسورد فایل فشرده : homeandroid.ir

خانه اندروید منبع آموزش : خانه اندروید

 

درباره نویسنده

Admin
جواد محمدی هستم بنیان گذار سایت خانه اندروید علاقمند به زبان برنامه نویسی تحت وب ، اندروید استودیو ، ویندوز اپلیکیشن و خوشحالم که در خدمت شما هستم.

قبل از ارسال دیدگاه

  • قبل از ارسال دیدگاه: لطفا دیدگاه خودتون رو فقط در مورد این مطلب بنویسید.سپاسگزارم.

12 دیدگاه

  1. امیر گفت:

    با سلام این فیلم رو دیدم و عمل کردم ولی یک مشکل برام پیش اومده
    فرگمنت ها درست کارمیکنه مانند فیلم

    ولی کلاس جاوای هر فرگمنتی که به اکتیویتی موردنظر متصل شده کار نمیکنه

    یعنی فقط xml ها نمایش داده میشه و برای مثال انجام toast رو که توی یکی از کلاس ها مینویسم انجام نمیشه !!

    لطفا راهنمایی کنید

    با تشکر

    • Admin Admin گفت:

      سلام و احترام خدمت شما دوست عزیزم امیر
      لطفا سورس کد رو قرار بدید.
      با احترام.

      • امیر گفت:

        Activity_Main.xml

        activity_fragmentview1.xml

        fragmentclass1.java

        package android.app.fragment;

        import android.os.Bundle;
        import android.support.annotation.Nullable;
        import android.support.v4.app.Fragment;
        import android.view.LayoutInflater;
        import android.view.View;
        import android.view.ViewGroup;

        public class fragmentclass1 extends Fragment {
        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.activity_fragmentview1, container, false);
        }
        }

        activityfragmentview1.java

        package android.app.fragment;

        import android.support.v7.app.AppCompatActivity;
        import android.os.Bundle;
        import android.widget.Toast;

        public class activityfragmentview1 extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fragmentview1);
        Toast.makeText(activityfragmentview1.this,”Worked ! Frg1″,Toast.LENGTH_LONG).show();
        //این toast اجرا نمیشه پس معلومه کل این کلاس اجرا نمیشه
        }
        }

        • Admin Admin گفت:

          دوست عزیزم توی کانال تلگرام خانه اندروید جواب دادم کامل خدمتون در قالب یک فیلم آموزشی
          لطفا ببنید و یاد بگیرن و چنانچه مشکل حل شد و یا حل نشد در این دیدگاه اطلاع رسانی کنید. ممنونم.
          با این عنوان در کانال خانه اندروید :
          دوست عزیزی سوال داشتن چرا نمی تونن توی فرگمنت عمل Toast رو انجام بدن
          آدرس کانال : https://t.me/homeandroid_ir
          با احترام.

  2. Ahmad گفت:

    سلام
    بسیار عالی توضیح داده اید
    انشاء الله همیشه موفق و موید باشید

  3. حسین گفت:

    با درود
    سپاس از آموزش های بی نظیر شما.
    امکانش هست که مثالی از مدیریت کلیدها بزنید، یعنی فرگمنت اول فراخونی شد و کلید برگشت زده شد، از برنامه بیرون نیاد، بیاد روی اکتیوتی اصلی برنامه و اگر روی اکتیوتی اصلی کلید برگشت زده شد از برنامه خارج بشه. (یا ترتیب فراخونی ها و برگشت ها حفظ بشه)

ارسال دیدگاه شما





کد امنیتی *