LiveData+ViewModelの使い方1:データ取得
1991 ワード
これまでMVPを使って開発してきた.出勤してMVVMを見たばかりです.LiveData+ViewModelは確かに力がありますが、databindingを見るとxmlの書き方が複雑な感じがします.まずLiveDataを記録してViewModelと組み合わせて使用します.
最も簡単な使い方
1.View Modelの作成 ViewModelの作成が完了すると、ActivityはViewModel を呼び出します.
リファレンスリンクhttps://www.jianshu.com/p/9e56c206956e https://www.jianshu.com/p/b1208012b268
LiveData
Activity stop 。 , activity , LiveData 。
。
。
ViewModel
UI , UI 。
最も簡単な使い方
1.View Modelの作成
public class SimpleViewModel extends ViewModel {
private MutableLiveData content;
public MutableLiveData getContent() {
if (content == null) {
content = new MutableLiveData<>();
}
return content;
}
public void setContent(MutableLiveData content) {
this.content = content;
}
/**
*
*/
public void getContentData() {
// Repository /
// setValue/postValue , Activity onChange
content.setValue(" ");
// content.postValue("" ");
}
}
btn = findViewById(R.id.btn);
// ViewModel
final SimpleViewModel model = ViewModelProviders.of(this).get(SimpleViewModel.class);
// content , setValue/postValue
model.getContent().observe(this, new Observer() {
@Override
public void onChanged(@Nullable String s) {
Log.e("SimpleActivity", "onChanged");
btn.setText(s);
}
});
//
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//
model.getContentData();
}
});
リファレンスリンクhttps://www.jianshu.com/p/9e56c206956e https://www.jianshu.com/p/b1208012b268