我有一项执行多项后台任务的活动,例如:
getJWTToken(), sendFCMTokenToServer(), isPromoAvailable(), isForcedUpgradeRequired(), fetchNewsFromServer(), sendUserLatLngToServer()
这些都是网络电话,需要一些时间。
这是我为1种方法所做的。
HomeViewModel homeViewModel = ViewModelProviders.of(this).get(HomeViewModel.class);
homeViewModel.sendFCMTokenToServer().observe(this, isFCMSendToServer -> {
Toast.makeText(this, "Home FCM Observer called", Toast.LENGTH_SHORT).show();
});
现在我的问题是我需要为每种方法重复上面的行homeViewModel.observer(this, )
,或者还有其他方法可以实现这一点。
答案 0 :(得分:1)
我想,你不应该!
您不需要单独观察这些更改。
你可以这样做:
制作包含所有这些数据的ViewState数据模型类(jwt标记,其他布尔值和所有数据)
根据活动中的此模型观察ViewModel。
在ViewModel中,您也可以使用LiveData.postValue()更改/更新这些ViewState模型值。