andoridmvvm框架搭建
时间: 2023-12-07 21:36:35 浏览: 28
Android MVVM框架是一种基于Model-View-ViewModel设计模式的框架,它可以帮助开发者更好地管理应用程序的UI和业务逻辑。下面是搭建Android MVVM框架的步骤:
1. 创建一个Android项目,并在build.gradle文件中添加以下依赖项:
```
dependencies {
def lifecycle_version = "2.2.0"
// ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
// LiveData
implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"
// Lifecycles only (without ViewModel or LiveData)
implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"
// Saved state module for ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"
// Annotation processor
kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
}
```
2. 创建一个ViewModel类,该类将包含应用程序的业务逻辑。ViewModel类应该扩展ViewModel类,并使用LiveData对象来公开数据。
```
public class MyViewModel extends ViewModel {
private MutableLiveData<String> mText;
public MyViewModel() {
mText = new MutableLiveData<>();
mText.setValue("This is my text");
}
public LiveData<String> getText() {
return mText;
}
}
```
3. 创建一个Activity或Fragment类,并在其中创建ViewModel对象。使用ViewModelProviders.of()方法获取ViewModel对象。
```
public class MyActivity extends AppCompatActivity {
private MyViewModel mViewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
mViewModel = ViewModelProviders.of(this).get(MyViewModel.class);
mViewModel.getText().observe(this, new Observer<String>() {
@Override
public void onChanged(@Nullable String s) {
// Update UI
}
});
}
}
```
4. 在布局文件中使用Data Binding来绑定ViewModel中的数据到UI元素。
```
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="viewModel"
type="com.example.MyViewModel" />
</data>
<TextView
android:text="@{viewModel.text}"
... />
</layout>
```