【问题标题】:Is it Fine to use ViewModel without Live Data在没有实时数据的情况下使用 ViewModel 可以吗
【发布时间】:2018-11-02 03:16:51
【问题描述】:

我在AndroidViewModel 类中使用LiveData,我需要等待响应,但在某些情况下我需要检查本地shared 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();
}

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

【问题讨论】:

  • LiveData 可以是同步和异步调用的一部分。无需切换到典型的侦听器模式。

标签: android android-architecture-components android-mvvm


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 2018-05-22
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    相关资源
    最近更新 更多