android mvvm 架构代码
时间: 2024-01-07 15:04:52 浏览: 89
抱歉,作为 AI 语言模型,我无法提供完整的代码。但是,我可以为您提供一些关于 Android MVVM 架构的基本示例代码,以帮助您更好地理解该架构。
ViewModel 类:
```
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
public class MyViewModel extends ViewModel {
private MutableLiveData<Integer> count;
public MutableLiveData<Integer> getCount() {
if (count == null) {
count = new MutableLiveData<>();
count.setValue(0);
}
return count;
}
public void increment() {
count.setValue(count.getValue() + 1);
}
}
```
MainActivity 类:
```
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProviders;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView textView;
private Button button;
private MyViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
button = findViewById(R.id.button);
viewModel = ViewModelProviders.of(this).get(MyViewModel.class);
viewModel.getCount().observe(this, new Observer<Integer>() {
@Override
public void onChanged(Integer count) {
textView.setText(String.valueOf(count));
}
});
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
viewModel.increment();
}
});
}
}
```
这里展示了一个简单的计数器应用程序,其中 ViewModel 存储计数器的值并在值更改时通知 Activity。Activity 监听 ViewModel 中的 LiveData 对象以更新 UI,当用户点击按钮时,Activity 通过调用 ViewModel 中的方法来增加计数器的值。
希望这个示例可以帮助您更好地理解 Android MVVM 架构。
阅读全文