以下是一个简单的Android MVVM LiveData最佳实践示例:
public class MyViewModel extends ViewModel {
private MutableLiveData data;
public MutableLiveData getData() {
if (data == null) {
data = new MutableLiveData<>();
}
return data;
}
public void updateData(String newData) {
data.setValue(newData);
}
}
public class MainActivity 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);
// 观察LiveData数据的变化
viewModel.getData().observe(this, new Observer() {
@Override
public void onChanged(@Nullable String newData) {
// 在这里更新UI
textView.setText(newData);
}
});
}
}
public class AnotherActivity extends AppCompatActivity {
private MyViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_another);
viewModel = ViewModelProviders.of(this).get(MyViewModel.class);
// 模拟更新数据
String newData = "New Data";
viewModel.updateData(newData);
}
}
这是一个简单的Android MVVM LiveData最佳实践示例,你可以根据实际需求扩展和修改代码。