سلام و احترام خدمت استاد و دوستان عزیز
سوالی که من دارم این هست که از اوجایی که در Architecture مربوط به Android Jetpack هم Lifecycle هست و هم LiveData و در این جلسه متوجه شدیم عملا با وجود LiveData و MutableLiveData دیگر نیازی به Lifecycle نداریم (البته شاید من اشتباه میکنم و Lifecycle هنوز هم قابلیت های دیگه ای داشته باشه)
میخواستم بپرسم آیا این فرض اشتباه هست که دیگر به Lifecycle جت پک نیازی نیست و میتوانیم تمام کار ها رو با Livedata هندل کنیم؟
سلام
من فکر کنم یه اشتباهی پیش اومده , اونم به خاطر اینه که توی هر دو کامپوننت اسم observe کردن اومده
life-cycle aware در واقع اطلاعات مربوط به چرخه حیات کامپوننت مربوطه رو نگه میداره و به موجودیت های دیگه این امکان رو میده که به این اطلاعات( که این اطلاعات هم ,اطلاعات چرخه حیات کامپوننت هست نه چیز دیگه) observe کنن و از تغییرات چرخه حیات کامپوننت با خبر بشن
live data یه کلاس دیتا هولدر و اعلان کننده تغییرات داده هست خب تا اینجا شبیه قبلی هست ولی اینجا هر چیزی میتونه live data بشه (اصطلاحا observable بشه) . هرنوع متغییری میتونه live data بشه تا با استفاده از الگوی observer , observable وقتی یه جایی داده تغییر کرد,اون جاهایی که به تغییرات این داده خیره شدن متوجه بشن
امیدوارم واضح توضیح داده باشم
جواب سوالم بنظرم این باشه :
یکی از مزیت های مربوط به لایوو دیتا:
عدم نیاز به مدیریت چرخه عمر برای برنامه نویس :
خود LiveData این مورد رو بر عهده گرفته و لازم نیست ما هندل کنیم پس نتیجه میگیریم نیازی به lifecycle نداریم
البته هنوز مطمین نیستم (اینکه وقتی از لایو دیتا استفاده میکنیم دیگه نیاز به lifecycle جت پک نیستش)
اگر دوستان نظری داشتن حتما ذکر کنن تا استفاده ببریم
تشکر
سلام پوریا جان
من فکر میکنم برای استفاده از Live Data نیازی به ، استفاده از lifecycle جت پک نیست
اما همچنان برای مباحثی همچون EventBus , RxJava برای ما میتونه کاربرد داشته باشه