ViewModel

ViewModel是用来管理UI相关的数据的,同时ViewModel还可以用来负责UI组件间的通信。

使用

1.创建
我们在获取 ViewModel 的时候绝对不能直接使用 new 关键字去创建,需要使用 ViewModelProviders 去使用系统提供的反射方法去创建我们想要的 ViewModel

ViewModel 是 Android 架构组件之一,旨在帮助解决 Activity 和 Fragment 与数据持久性相关的问题。ViewModel 类的实例会存储和管理与视图相关的数据,这样即使是配置更改(如旋转屏幕)或者内存回收等情况,数据也不会丢失。ViewModel 通过使用“生命周期感知”来实现这一点,即 ViewModel 的生命周期与 Activity 或 Fragment 的生命周期相关联。 在使用 ViewModel 时,通常的做法是创建一个 ViewModel 子类,将需要管理的数据作为类的成员变量,并提供对应的 get/set 方法。Activity 或 Fragment 可以通过获取 ViewModel 实例并调用其方法来访问和修改数据。 以一个简单的计数器为例,以下是一个使用 ViewModel 的代码示例: 1. 创建 ViewModel 子类 ```kotlin class CounterViewModel : ViewModel() { private var count = 0 fun getCount(): Int { return count } fun incrementCount() { count++ } } ``` 2. 在 Activity 或 Fragment 中获取 ViewModel 实例 ```kotlin val viewModel = ViewModelProviders.of(this).get(CounterViewModel::class.java) ``` 3. 在 Activity 或 Fragment 中使用 ViewModel ```kotlin // 获取计数器的值 val count = viewModel.getCount() // 增加计数器的值 viewModel.incrementCount() ``` 需要注意的是,ViewModel 只能存储与视图相关的数据,不能存储与 Android 系统相关的数据,如 Context、View 等。此外,ViewModel 的生命周期与 Activity 或 Fragment 的生命周期相关联,因此在使用 ViewModel 时也需要确保正确处理生命周期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值