応答を待つ必要があるLiveData
クラスでAndroidViewModel
を使用していますが、ローカルの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();
}
上記のアプローチが適切かどうか、またはLiveData
の各メソッドにViewModel
または他のオブザーバーを使用する必要があるかどうかを知りたいです。
AFAIK ViewModel
とLiveData
は緊密に接続されていません。したがって、オブザーバーを使用する義務はありません。たとえば、 this サンプルアプリでは、ViewModel
を使用して、向きを変更しても一部の数値を保持します。したがって、ViewModel
は、方向の変更を通じて保持されるデータを格納できるコンテナー(ヘッドレスフラグメントのようなもの)として機能します。