LiveData ی اندروید تا حدودی مشابه RxJava میباشد طراحی اپلیکیشن در مشهد با این تفاوت که LiveData از چرخه معاش (lifecycle) در View های اندروید باخبر میباشد.
چنانچه View در دورنما باشد ، LiveData داده های شمارا در View آپ تو دیت نمی نماید. رایاپارس این به ما امداد می نماید تا از استثناهایی مانند IllegalStateException و غیره پرهیز کنیم. این عمل سبب ساز کاهش مصرف منابع سیستمی برای مثالً کاهش مصرف cpu و حافظه موقت و باتری و غیره نیز میشود.
LiveData در ViewModel چهگونه اکتیویتی را آپ تو دیت می نماید؟
هنگامی Observer را در Activity خویش تصویب میکنیم ، application بایستی مشی onChanged را Override کنیم. هر فرصت LiveData عوض می شود ، روال onChanged فراخوانی میشود. به این ترتیب در onChanged ، میتوانیم تغییرات LiveData را به View جاری ساختن کنیم.
LiveData صرفا یک نوع داده میباشد که هر مجال داده عوض میشود ، آن را به Observer استحضار میدهد. LiveData مانند اعلان کننده تغییرات داده میباشد.
MutableLiveData
MutableLiveData صرفا یک کلاس میباشد که از کلاس نوع LiveData ارث بری می نماید. ولی برخلاف LiveData داده داخل آن را می اقتدار تغییرو تحول اعطا کرد.
با فراخوانی متدهای setValue و postValue از MutableLiveData می قدرت داده داخل آن را تغییرو تحول اعطا کرد. بعد از اینکه داده تغییر و تحول کرد MutableLiveData به observer اگاهی میدهد.
با به کارگیری از سیاق getValue در شی LiveData یا این که MutableLiveData مقدار داده فعلی باطن آن را می اقتدار خواند.
MutableLiveData معمولاً بیشتر به کار گیری می گردد چون متدهای setValue و postValue را به طور همگانی در دسترس قرار میدهند ، چیزی که کلاس LiveData ارائه نمی دهد.