在MVVM的框架中,每一个Activity都应该对应一个ViewModel,而现在我们有一个MainActivity,因此可以新建一个viewmodels包,包下新建一个MainViewModel类,表示与MainActivity进行绑定。 代码语言:javascript 复制 publicclassMainViewModelextendsViewModel{} 注意这里要继承ViewModel,虽然现在里面什么都没有的,但后面使用的时候会进...
LiveData 是基于 ViewModel 的 , 是对 ViewModel 数据维护的一个补充 ; 在Activity 中使用代码可以将 ViewModel 初始数据 设置给 视图组件 , 进行 初始状态显示 ; 如果 在运行过程中 , ViewModel 中的数据发生了变化 , 如何将变化应用到视图组件中 , 在视图中显示最新的数据内容 , 此时就用到了 LiveData 组件 ...
Jetpack网上一搜全都有解释,在这里我就不介绍Jetpack了,直接给 ViewModel、LiveData、DataBinding上例子。 注:本文基于AndroidX的项目,本人自己理解的意思做的讲解,有不对或疑惑的地方欢迎评论留言一起学习探讨。 一、ViewModel: 1、功能:屏幕旋转或者字号改变的时候该Activity数据不会丢失。 2、做法:写一个类继承ViewMod...
这里我将一个篮球赛计分的例子来记录ViewModel、LivaData、DataBinding的用法 首先新建一个 MyViewModel 继承于 ViewModel。 package com.shanya.score; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; public class MyViewModel extends ViewModel { private MutableLiveData<Integer> aTeamS...
然后我们尝试着用ViewModel + DataBinding + Livedata的方式重新写一下: MainActivity.java public classMainActivityextendsAppCompatActivity{private MainViewModel model;private ActivityMainBinding binding;@Override protected voidonCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R....
在MVVM的框架中,每一个Activity都应该对应一个ViewModel,而现在我们有一个MainActivity,因此可以新建一个viewmodels包,包下新建一个MainViewModel类,表示与MainActivity进行绑定。 publicclassMainViewModelextendsViewModel{ } 1. 2. 3. 注意这里要继承ViewModel,虽然现在里面什么都没有的,但后面使用的时候会进行增加,下...
ViewModel 在Android 中,ViewModel 是一种用于管理 UI 组件的类,它独立于 UI 线程。它允许我们将数据模型和业务逻辑从 UI 层剥离开来,以便更好地进行单元测试和代码重构。 class MyViewModel(private val myRepository: MyRepository) : ViewModel() { private lateinit var myLiveData: LiveData<MyData> init { ...
Android DataBinding 从入门到进阶,看这一篇就够 一、基本概念 1.1应用架构图 Model:对应图中的Repository(网络请求数据、本地数据库数据) View:对应图中的Repository(网络请求数据、本地数据库数据)对应图中的Activity/Fragment。 ViewModel:对应图中的ViewModel和LiveData。
使用Kotlin实现 MVVM(Model-View-ViewModel)模式是开发Android应用程序的一种常见架构方式。MVVM 模式将应用程序的UI逻辑和业务逻辑分离,使用 LiveData、ViewModel 和 DataBinding 可以使代码更加模块化和可维护。以下是实现 MVVM 模式的步骤和示例: 步骤 Model 层:负责数据的获取和处理,如数据库操作、网络请求等。