关于ViewModelViewModel类设计目的是以一种关注生命周期方式存储和管理与UI相关数据。 例如:Activity在配置发生改变时(屏幕旋转),Activity就会重新创建,onCreate()方法也会重新调用。我们可以在onSaveInstanceState()方法中保存数据,并从onCreate()方法中通过Bundle恢复数据,但这种方法只适用于可以对其进行序列化少量数据
文章目录ViewModel简介ViewModel生命周期ViewModel 使用Fragment使用ktx 扩展activity 扩展fragment 扩展AndroidViewModelViewModel简介视图与数据模型之间桥梁ViewModelViewModel生命周期ViewModel生命周期会比
原创 2021-09-08 17:42:43
1632阅读
MVVMAndroidMVVM(Model-View-ViewModel)与MVP比较相似, 都是分离页面逻辑与业务逻辑. View相同, 不同ViewModel与Presenter. Presenter从UI中抽象出View事件逻辑; ViewModel为事件驱动页面提供数据流.三个架构分析均已完成, 参考MVC, MVP, MVVM.MVVM架构MVVM包含三个模块, Model, V
转载 2023-10-31 23:05:58
80阅读
Android:JetPack开发笔记:ViewModel简介和使用(上)什么是ViewModel?ViewModel 类旨在以注重生命周期方式存储和管理界面相关数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。 简单来说,ViewModel就是一个用来管理界面数据特殊类,它有着特殊生命周期,与Activity生命周期有所不同。为何要使用ViewModel:Acti
转载 2023-08-02 18:34:41
475阅读
这可能是你看过最清晰明了讲解主题 ?写在前面:由于 ViewModel 与 LiveData 关联性强,在学习 ViewModel 时候要结合 LiveData 同时学习官方定义:ViewModel 类旨在以注重生命周期方式存储和管理界面相关数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续存在问题来源(1):例如你 APP 某个 Activity 中包含一个 列表,因
转载 2023-08-17 20:43:50
163阅读
一、ViewModel简介ViewModel出现主要有以下几个方面的考虑:(1)在编写应用程序时候,如果在Activity和Fragment中写入过多逻辑,Activity会变得非常臃肿,不利于代码维护,也违背了软件分层思想。根据MVVM模型,可以将业务逻辑从View层拆分出来,Activity和Fragment只负责界面渲染相关、响应用户事件、进行权限申请等工作,将业务逻辑交给View
转载 2023-06-07 19:27:55
1184阅读
初到掘金,人生地不熟,喜欢朋友,点个赞鼓励下新手呗~ViewModel类主要用来存储和管理UI相关数据,它能够让数据在屏幕旋转等配置信息改变导致UI重建情况下不被销毁。ViewModel生命周期ViewModel对象存活在系统中不被回收时间是由创建ViewModel传递给ViewModelProviderLifecycle决定ViewModel将一直留在内存中,直到限定其存在时间范围
转载 2023-10-30 16:44:23
182阅读
效果图:使用了viewmodel未使用viewmodel理论知识结构图 看到到上面的效果入 我们今天就用一个实际场景案例 用在点击屏幕中加号button 上面文本一直累加 然后我们在旋转屏幕时候 看一下数据会不会丢失。具体效果实现使用了viewmodel 实现没有旋转之前旋转之后 我们可以观察手机屏幕显示区域 我们显示数字text文本并没有丢失数据重置。 代码实现:布局文件<?xml
转载 2024-03-12 16:39:50
0阅读
# Android ViewModel 使用详解 ## 流程概述 使用 Android ViewModel 流程可以分为以下几步: 1. 创建 ViewModel 类 2. 在 Activity 或 Fragment 中获取 ViewModel 实例 3. 设置观察者监听数据变化 4. 更新数据或与数据交互 下面将详细介绍每一步需要做事情以及涉及到代码。 ## 1. 创建 View
原创 2023-10-01 10:52:14
488阅读
前言ViewModel是google推出一个数据处理框架,ViewModel类是被设计用来以可感知生命周期方式存储和管理 UI 相关数据ViewModel中数据会一直存活即使 activity configuration发生变化.另外它生来可能目的就是与Fragment在数据共享上进行配合.使用它常与LiveData数据前台类(类似观察者模式数据实体回调类)进行配合以前使用,如果你未
转载 2023-07-28 15:59:21
2411阅读
在页面(Activity/Fragment)很简单情况下,通常我们会将UI交互,数据获取与处理等相关业务逻辑,全部写在页面中,但是在页面复杂情况下,这样做是不合适,它不符合“单一责任”原则。页面只应该负责接收用户交互,以及将数据展示到屏幕上,相关数据应该单独存放和处理。为此,Android为我们提供了ViewModel类,专门用于存放应用程序页面所需数据。它将页面所需数据从页面中剥离出
转载 2024-03-13 10:45:58
67阅读
Android Jetpack框架之LiveData与ViewModel分析与使用1、前言Google 为了帮助 Android 开发者更快更好地开发 App,推出了一系列组件,这些组件被打包成了一个整体,称作 Android Jetpack,它包含组件如下图所示官方对应 Architecture 说明:Android architecture components are a collect
转载 3月前
493阅读
# AndroidViewModel使用详解 作为一名经验丰富开发者,我将为你详细介绍在Android中如何使用ViewModelViewModel是一种设计模式,它主要目的是将UI和数据分离,提供可复用数据模型。 ## 流程图 ```mermaid flowchart TD A[创建ViewModel] --> B[设置观察者] B --> C[获取数据更新UI]
原创 2024-02-09 09:55:32
311阅读
# Android开发 ViewModel使用详解Android开发中,ViewModel是一个非常重要组件,它被设计用来存储和管理与UI相关数据。ViewModel设计目的是为了分离UI组件和数据逻辑,提高应用可维护性和可测试性。在本文中,我们将详细介绍ViewModel使用方法,并提供代码示例。 ## ViewModel基本用法 在Android开发中,我们可以通过继承V
原创 2024-02-23 05:55:55
246阅读
前言在使用一个新组件之前,我们需要了解为什么需要使用它、如何使用、使用过程中注意事项、可扩展或可提升地方。当我们深入透彻理解这些后,开发中遇到任何问题都可以迎刃而解。当然需要了解这些内容,我们必须熟悉源码实现过程,这样才能做到心中有数。为什么需要使用概念ViewModel主要是为了保存和管理UI相关数据,能够在我们配置发生变化时候保存数据,比如在屏幕旋转时,可以直接使用上次保存Vi
转载 2023-06-30 20:41:18
661阅读
                                 &n
转载 2023-07-28 19:57:09
40阅读
概念试图数据管理类,ViewModel负责准备和管理跟UI组件(Activity,Fragment)相关数据类,同时还可以用来负责UI组件间通信。存在意义a.页面销毁重新创建后(如旋转屏幕,异常销毁等),原来UI相关数据会丢失,理论上可以通过onSaveInstanceState()存储数据,组件重建之后通过onCreate(),从中读取Bundle恢复数据。但如果是大量数据,Intent
前言: View
原创 2022-11-17 10:16:36
157阅读
LiveData是一个可被观察数据容器类,具体来说,可以将LiveData理解为一个数据容器,它将数据包装起来,使数据成为
转载 2023-11-20 11:38:21
195阅读
1、MVC模式Model:模型层,根据业务模型建立相关数据类,同时相关数据库操作和网络也在Model中进行。 View:视图层,一般用xml文件描述,用于view展示 Controller:控制层,负责逻辑业务处理;连接View层和Model层,完成View层和Model层交互。这么说太抽象了,我们举个栗子:点击按钮数字增加Model层就是数字保存和更新,更新通知是Activity,
转载 2024-02-05 15:19:37
46阅读
  • 1
  • 2
  • 3
  • 4
  • 5