public class MyViewModel extends ViewModel {
private MutableLiveData<String> data;
public LiveData<String> getData() {
if (data == null) {
data = new MutableLiveData<>();
fetchData();
}
return data;
}
private void fetchData() {
}
}
public class MyActivity extends AppCompatActivity {
private MyViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewModel = ViewModelProviders.of(this).get(MyViewModel.class);
viewModel.getData().observe(this, new Observer<String>() {
@Override
public void onChanged(String newData) {
}
});
}
}
groovy
dependencies {
def lifecycle_version = "2.4.0-rc01"
implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
}