دوره زبان تخصصی برای برنامه‌نویسان (هدیه ویژه ثبت‌نام در دوره‌های متخصص) (فرصت محدود ⏰)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ safa
انتخاب بین rxjava و livedata در پروژه Todolist
پوریا شفیعی حل شده توسط پوریا شفیعی

در هنگام دریافت اطلاعات از   دیتا بیس روم livedata استفاده کنیم یا rx ؟ در پروژه todo  از هردو برای تست استفاده کردم هنگامی که از rx  استفاده کردم وقتی که recycler خالیه و میخوام که یک تکست ویو نشون بدم بگم مثلا هیچ وظیفه ای نیست وقتی که یک وظیفه اضافه می‌کنم اطلاعات در دیتا بیس ذخیره میشن ولی در ریسایکلر نشون نمیده باید اپ رو ببندم تا نشون بده اما موقعی که از livedata  استفاده کردم وقتی خالیه تکست ویو خالی رو نشون میده ولی وقتی وظیفه ای رو اد می‌کنم  همون وظیفه به صورت دو تا نشون میده سوال من این هست که کدوم یکی از این‌ها بهتر هسش برای نمایش اطلاعات ؟کدام یکی اطلاعات آنی تغییر میدن؟

سلام و احترام

 

اینکه چه چیزی در کجا استفاده کنیم کاملا بستگی به سناریو شما دارد اگر بخواهید data ی مد نظرتون رو hold کنید انتخاب شما livedata خواهد بود

برای دریافت اطاعات از دیتابیس livedata گزینه مناسبی هست چرا که ما میخواهیم مثلا زمانی که گوشی rotate شد(چرا که لایو دیتا به configurations change اگاه است) مجدد نیاز به زدن ریکویست نباشد وdata ما hold شده باشد و دیتا hold(نگه داری شده) را نمایش دهیم

اما درهنگامی که بخواهید دیتایی رو سمت سرور بفرستید(post کنید) یا عمل insert انجام دهید انتخاب ما بهتر هست rx باشد چرا که در این زمان نیازی نداریم دیتا رو hold کنیم و صرفا عمل مد نظر ما add کردن هست .

اتفاقا استاد شاهینی در جلسه آموزشی وبینار که براتون لینکشو در پایین میذارم این مورد رو (چیزی که در بالا نوشتم)که در چه زمانی از چی استفاده کنیم به صورت کامل توضیح دادند

https://۷learn.ac/unit-android-mvvm-webinar

موفق باشید.

بهترین پاسخ
پوریا شفیعی ۰۴ آذر ۱۳۹۹، ۱۰:۵۱