android mvvm 代码
时间: 2023-12-14 18:04:22 浏览: 96
MVVM(Model-View-ViewModel)是一种软件架构模式,常用于开发 Android 应用程序。下面是一个简单的 Android MVVM 代码示例,展示了如何使用MVVM模式组织和管理代码。
1. Model(模型):
```java
public class User {
private String name;
private String email;
public User(String name, String email) {
this.name = name;
this.email = email;
}
// Getters and setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
```
2. View(视图):
```java
public class MainActivity extends AppCompatActivity {
private MainViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化 ViewModel
viewModel = new ViewModelProvider(this).get(MainViewModel.class);
// 绑定视图元素
TextView nameTextView = findViewById(R.id.nameTextView);
TextView emailTextView = findViewById(R.id.emailTextView);
// 监听 ViewModel 中的 LiveData 变化
viewModel.getUser().observe(this, user -> {
nameTextView.setText(user.getName());
emailTextView.setText(user.getEmail()); });
}
}
```
3. ViewModel(视图模型):
```java
public class MainViewModel extends ViewModel {
private MutableLiveData<User> user;
public MainViewModel() {
user = new MutableLiveData<>();
user.setValue(new User("John Doe", "johndoe@example.com"));
}
public LiveData<User> getUser() {
return user;
}
}
```
在这个示例中,`User`类表示用户数据模型。`MainActivity`是视图,负责处理用户界面的显示逻辑。`MainViewModel`是视图模型,它持有用户数据并提供给视图使用。
通过使用 LiveData 和观察者模式,视图(MainActivity)可以观察到视图模型(MainViewModel)中数据的变化,并及时更新界面显示。
请注意,这只是一个简单的示例,实际的 MVVM 实现可能更加复杂和完善,具体的架构和代码组织方式可能会因项目需求而异。
阅读全文