نمایش نتایج 1 تا 3 از 3

نام تاپیک: در چه شرایطی ضروری است و می بایست از فرگمنت استفاده کنیم؟

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    857

    Arrow در چه شرایطی ضروری است و می بایست از فرگمنت استفاده کنیم؟

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

    راهکار دوم این هستش که 3 تا فرگمنت درست کنیم یکی برای آهنگ ها یکی برای البوم ها یکی برای خواننده ها و یه اکتیویتی هم درست کنیم که با کلیک بر روی هر کدام از دکمه ها به اون اکتیویتی هدایت بشیم و حالا بر حسب اینکه با فشردن کدام دکمه وارد این اکتیویتی جدید شدیم تصمیم بگیریم که کدام یک از فرگمنت ها را نمایش بدیم.
    به نظر شما کدام راهکار درست تر بهینه تر و اصولی تر است؟
    ممنون میشم دوستان با مثال و نمونه و یا منبع مطالعه راهنمایی کنن.



    سپاس از همه دوستان

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    857

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

    سلام

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

  3. #3
    کاربر دائمی آواتار Nevercom
    تاریخ عضویت
    دی 1387
    محل زندگی
    بستک
    سن
    35
    پست
    1,118

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

    فلسفه‌ی اصلی ایجاد فرگمنت این بوده که به ماژولار کردن پروژه کمک کنه.
    در سوال شما فرض بر این گذاشته شده که فرگمنت تنها یک جا استفاده بشه، یعنی که به موضوع ماژولاریتی آگاهی دارید و دنبال دلیلی هستید که فراتر از این موضوع، از فرگمنت استفاده کنید.

    جدای این بحث ماژولاریتی، قابلیتی که فرگمنت به ما میده، این هست که با دردسر کمتری، UI همگن (Uniform) تری بسازیم و البته برای انیمیشن ها دستمون بازتر هست، البته مشکلی که همیشه به وجود می‌اورد این بود که خود Lifecycle فرگمنت دردسر مضاعفی بود و یکی از منابع باگ در پروژه. خود من شخصن بارها شده که در جایی که با فرگمنت ارتباطی وجود داشته، چندین جا تو اکتیویتی و خود فرگمنت باید چک می‌کردم که آیا این فرگمنت هنوز وجود داره و به اکتیویتی متصل هست یا خیر. که خب این مشکلات در اکتیویتی خیلی کمتر وجود داره.

    اما الان که کتابخانه‌ی Jetpack Navigation وجود داره و با تلاش‌هایی که در مجموعه کتابخانه‌های Jetpack برای Lifecycle Aware کردن کامپوننت‌ها انجام شده، این مشکلات خیلی کمتر شده. توصیه‌ی فعلی گوگل این هست که بصورت پیشفرض از تنها یک Activity بعنوان Entry Point استفاده بشه و سایر بخش‌های UI با استفاده از فرگمنت و Navigation ایحاد بشه.
    کتابخانه Navigation بهتون اجازه میده که با ایجاد Navigation Graph (مشابه چیزی که در iOS تحت عنوان Storyboard داریم)، درک بهتری از بخش‌های مختلف UI داشته باشیم. پیچیدگی ها رو خود کتابخانه مدیریت می‌کنه و در استفاده از انیمیشن تغییر فرگمنت‌ها بهمون کمک می‌کنه و البته مهم‌تر از همه، به کمک Safe Args این امکان رو بهمون میده که در ارسال پارامتر به فرگمنت‌ها Type Safety رو داشته باشیم. یکی از جاهایی که تو اکتیویتی می‌تونست منبع باگ باشه، همین ارسال پارامترها در Intent و Type Mismatch هست که ظاهرن تو این بخش هم بهمون کمک می‌کنه.

    در نهایت، توصیه این هست که از فرگمنت توسط کتابخانه Navigation استفاده بشه، مگر جاهایی از اپ و زمانی که شرایط استفاده از اکتیویتی‌های متعدد رو اجبار کنه.

تاپیک های مشابه

  1. پاسخ: 1
    آخرین پست: یک شنبه 19 شهریور 1391, 11:46 صبح
  2. سوال: حذف محتویات لیست باکس بااستفاده از فایل تکست
    نوشته شده توسط javadt در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: چهارشنبه 18 آذر 1388, 13:45 عصر
  3. استفاده از تکست بجای لیست
    نوشته شده توسط xrezax در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: شنبه 31 مرداد 1388, 15:44 عصر
  4. بدست آوردن لیست فرمهای استفاده شده در برنامه
    نوشته شده توسط Developer Programmer در بخش C#‎‎
    پاسخ: 4
    آخرین پست: دوشنبه 04 خرداد 1388, 11:19 صبح
  5. بدست آوردن لیست تمام منوهای استفاده شده در برنامه
    نوشته شده توسط Developer Programmer در بخش C#‎‎
    پاسخ: 3
    آخرین پست: یک شنبه 03 خرداد 1388, 22:04 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •