در هنگام دریافت اطلاعات از دیتا بیس روم 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
موفق باشید.