在Android应用程序中,Activity/Fragment和ViewModel是最常用和相关的架构。Activity/Fragment负责UI方面的逻辑,而ViewModel负责UI逻辑与数据逻辑之间的桥梁。以下是结合代码的示例。
在Activity/Fragment中,使用ViewModel可以使用以下代码:
public class MyActivity extends AppCompatActivity {
private MyViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 初始化ViewModel,并获取数据
viewModel = new ViewModelProvider(this).get(MyViewModel.class);
viewModel.getData().observe(this, data -> {
// 数据更新时,更新UI
});
}
}
在ViewModel中,我们可以使用LiveData作为数据变更的通知和监听器。以下是一个简单的ViewModel示例:
public class MyViewModel extends ViewModel {
private MutableLiveData data = new MutableLiveData<>();
public MyViewModel() {
// 获取数据并通过LiveData进行通知
data.setValue("Hello World!");
}
public LiveData getData() {
return data;
}
}
通过使用Activity/Fragment和ViewModel来分离UI逻辑和数据逻辑,我们可以使应用程序更易于扩展和维护。