groovy
implementation 'android.arch.lifecycle:runtime:1.1.1'
implementation 'android.arch.lifecycle:extensions:1.1.1'
annotationProcessor 'android.arch.lifecycle:compiler:1.1.1'
public class MyViewModel extends ViewModel {
private MutableLiveData<String> data;
public LiveData<String> getData() {
if (data == null) {
data = new MutableLiveData<>();
loadData();
}
return data;
}
private void loadData() {
}
}
public class MyActivity extends AppCompatActivity {
private MyViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
viewModel = ViewModelProviders.of(this).get(MyViewModel.class);
viewModel.getData().observe(this, new Observer<String>() {
@Override
public void onChanged(@Nullable String newData) {
}
});
}
}
groovy
implementation 'android.arch.persistence.room:runtime:1.1.1'
annotationProcessor 'android.arch.persistence.room:compiler:1.1.1'
@Database(entities = {User.class}, version = 1)
public abstract class MyAppDatabase extends RoomDatabase {
public abstract UserDao userDao();
}
MyAppDatabase db = Room.databaseBuilder(getApplicationContext(), MyAppDatabase.class, "my-database").build();
UserDao userDao = db.userDao();