首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android Jetpack系列之 ViewModel

ViewModel的使用 ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel类让数据可在发生屏幕旋转等配置更改后继续存在。...这句话很好理解,还记得我们在讲解Lifecycle的时候 举的例子吗,我们还是使用那个例子,如果你还没看过,可移步至: Android Jetpack系列之Lifecycle 我们再回顾一次需求: 在Activity...我们可以看到,在屏幕旋转之后,计数器的计数保留了,那么viewModel是如何做到的呢,这是因为ViewModel 对象存在的时间比视图或 LifecycleOwners 的特定实例存在的时间更长,ViewModel...,那么ViewModel的生命周期就受Activity的影响了,所以为什么我们只能通过ViewModelProvider来获取ViewModel的实例。...如此一来 我们就实现ViewModel传递参数了~

83220
您找到你想要的搜索结果了吗?
是的
没有找到

改造 Android 官方架构组件 ViewModel

原文地址: http://www.jianshu.com/p/963a9d146da7 前言 Android 官方架构组件在今年 5 月份 Google I/O 大会上被公布, 直到 11 月份一直都是测试版...直到 11 月份 Android 官方架构组件正式版发布, 并且 Google 也在 Support Library v26.1.0 以后的版本中内嵌了 Android 官方架构组件中的生命周期组件,...我想, 这是趋势, 既然 Google 这么推崇, 那我也是时候学习一波并将它们引入 MVPArms 框架了 Github : 你的 Star 是我坚持的动力 ✊ 简单介绍 因为想将 Android...发现 Android 官方架构组件其实并没有想象的那么高深, 原理反而是我们在日常开发中都会用到的知识点, 那我就在文章的开头先简单的介绍下 Android 官方架构组件中的这几个组件 Lifecycles...生命周期组件是 Android 官方架构组件中的核心组件, 它可以使各种实例作为观察者与 Activity 和 Fragment 等具有生命周期特性的组件绑定在一起, LiveData 和 ViewModel

74110

Android Jetpack架构组件(三)之ViewModel

此时,借鉴后端的后端程序的开发思路,我们对Android项目进行了分层,典型的有MVC,MVP和MVVM等项目分层,然后每层负责自己的事情即可。以现在流行的MVVM模式为例。...View层:视图层,对应Android的Activity、Fragment和View等,负责数据的显示以及与用户的交互。...在Android中,Activity/Fragment主要用于显示视图数据,如果它们也负责数据库或者网络加载数据等操作,那么势必造成代码臃肿,而将逻辑代码放到ViewModel之后,可以更有效的将视图数据相关逻辑和视图控制器分离开来...二、生命周期 我们知道,Android的Activity/Fragment是有生命周期的,我们可以在不同的生命周期函数中执行不同的操作来达到不同的目的。...众所周知,Android在横竖屏切换时会触发onSaveInstanceState,然后在还原时则会触发onRestoreInstanceState。

1.3K00

深入理解与运用Android Jetpack ViewModel

Android开发中,数据与界面的分离一直是一项重要的挑战。为了解决这个问题,Google推出了Android Jetpack组件之一的ViewModel。...什么是ViewModel ViewModelAndroid Jetpack组件之一,它的主要目的是将UI控制器(如Activity和Fragment)与数据相关的业务逻辑分开,使得UI控制器能够专注于展示数据和响应用户交互...:lifecycle-viewmodel-ktx:2.3.1" } 创建ViewModel 创建ViewModel非常简单,只需继承ViewModel类并在其中定义数据和相关操作。...结论 通过本文的介绍,你已经了解了Android Jetpack ViewModel的使用与原理。...ViewModel的出现极大地简化了Android开发中的数据管理和生命周期处理,使得应用更加健壮和高效。在实际开发中,合理使用ViewModel能够帮助你构建优雅、易维护的Android应用。

37620

ViewModel

为了更好地将职能划分清楚,Android为我们提供了ViewModel类,专门用于存放应用程序页面所需要的数据。...二.VIewModel的生命周期特性   由于Android平台的特殊性,若应用程序支持横竖屏切换,那么当用户旋转手机屏幕的时候,我们还需要考虑数据的存储和恢复。...ViewModel独立于配置变化,这意味着,屏幕旋转所导致的Activity重建,并不会影响ViewModel的生命周期,如下图所示: 三.ViewModel的基本使用方法   前面提到,ViewModel...ViewModel的实例化过程是通过ViewModelProvider来完成的,ViewModelProvider会判断ViewModel是否存在,若存在的话直接返回,否则他会创建一个ViewModel...四.ViewModel和AndroidViewModel   前面提到,ViewModel是独立于配置变化的,它的生命周期比页面长,所以需要注意的一点是:不要向ViewModel传入任何类型的Context

19130

解决android viewmodel 数据刷新异常的问题

3年的wpf开发经验,自认为对数据驱动UI开发模式的使用不是问题,但当开始研究android的mvvm模式开发时,发现两年多的android开发经验已经将之前的wpf开发忘得7788了。...viewmodel public class MyViewModel extends ViewModel { private MutableLiveData<List<User mUserList...补充知识:使用Android DataBinding时发现只能显示一次,不能动态更新数据 本文只是记录解决错误的过程,可能起不到分享的意义。...通过三个Fragment共同使用Activity的ViewModel来实现数据共享。 但是最后出现个现象就是只有刚进入页面时,ViewModel中的数据会显示在视图上。...Singleton ,那么我们可以自定义一个注解来表示一个 scope 创建注解:@NewPesticideSingle (名字任意) 标注在 Module 和对应的 Component 中即可 以上这篇解决android

1.3K21
领券