首页 > 解决方案 > 在没有实时数据的情况下使用 ViewModel 可以吗

问题描述

我在需要等待响应LiveData的课堂上使用,但在某些情况下,我需要从 local 检查一些值,这不会阻塞任何线程。AndroidViewModelshared preference

对于这些场景,我没有使用LiveData. 这就是我在我的activity class.

 homeViewModel.sendTokenToServer().observe(this, isFCMSendToServer -> {
        Toast.makeText(this, "FCM Token Observer called", Toast.LENGTH_SHORT).show();
 });


//Without Live Data

if(homeViewModel.isUpgradeAvailable()){
     displayAlertMessage();
}

我想知道上述方法是否可以,或者我们必须LiveData为每个方法使用或其他一些观察者ViewModel

标签: androidandroid-architecture-componentsandroid-mvvm

解决方案


AFAIKViewModelLiveData没有紧密连接。因此,您没有义务使用任何观察者。例如,在示例应用程序中,ViewModel用于通过方向更改保留一些数字。因此ViewModel用作容器(类似于无头片段),您可以在其中存储要通过方向更改保留的数据。


推荐阅读