Lifecycle、LiveData和ViewModel作为AAC架构的核心,常常被用在Android业务架构中。在京东商城Android应用中,为了事件传递等个性化需求,比如ViewModel间通信、ViewModel访问Activity等等,以及为了架构的扩展性,我们封装了BaseLiveData和BaseViewModel等基础组件,也对Activity、Fragement和ViewHold
return shellMainViewModel } override fun initView() { //初始化fragment val shellMainViewPager2Adapter = ShellMainAdapter(this , arrayListOf(mShellMainFragment ,mShellMainPlug
转载 10月前
44阅读
文章目录如何在不同Activity或Fragment中共享数据(普通数据或ViewModel)共享普通数据LifecycleStore,ShareDataStore,RefCountStoreLifecycleStoreShareModelStoreRefCountStoreShareModelShareModelProviderActivity销毁重建的情况(屏幕旋转等)共享ViewModel
转载 2023-09-21 15:15:42
1460阅读
可以实现多个Activity页面跳转后的通信框架有些时候,跳转多个页面后,返回第一个页面时,需要获取之前设置的数据,如果使用startAcitvityForResult是麻烦的。使用SharedPreferences就可以很方便做到了。 效果:图解1:其他任意页面,都可以设置主页面是否要刷新图解2: 在其他页面选中勾选框时,使用代码设置数据 上面程序设计,是可以任意一页面向主页面传送数据,第四
转载 10月前
361阅读
多个Activity跳转的小结 在android开发中Activity相当于web开发的页面,或者说如j2ee开发中对应的jsp页面。在开发jsp时,经常会遇到页面跳转的问题,在android也同样会遇到。以下的几个例子是我对android的Activity跳转的小结,也是最近做项目的小结。  第一个例子:demo1  Main—>SecondAc
子Fragment与父Activity共用ViewModel的实现声明private val vm by lazy { ViewModelProvider(activity as
原创 2022-06-24 06:44:26
646阅读
今天学习了ViewModel,其是Jetpack的一个类,它可以将界面中的数据独立出来,这样不会造成页面上信息的丢失。我跟着视频做了一个简单的实例:首先创建项目的时候它和以往的项目会有些不一样,因为需要使用Jetpack库,所以需要勾选上Use legacy android.support libraries。   我们需要再com....这个文件夹下新建一个Jjav
转载 2023-05-22 14:01:19
235阅读
一、ViewModel介绍ViewModel 作为 Jetpack 组件库首屈一指的高频组件之一,ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。它的出现释放了 Activity/Fragment 管理数据的压力,ViewModel 经常会搭配 LiveData 一起用于 MVVM 的开发模式。Tips:配置
转载 2023-08-31 12:46:44
170阅读
ViewModel的作用是为界面准备数据,数据的获取操作(如网络请求)或者一些数据处理可以在该类中编写方法,减少在Activity的代码。ViewModel里面的数据可以分为以下三类。普通数据,只是负责保存数据,无特别作用,可当做普通类来用 public class DataViewModel extends ViewModel { public String name; publ
转载 2023-07-08 19:33:43
943阅读
View近段时间在实际应用项目中接触到了MVVM模式编写的代码,发现与MVP有很大的不同,这里做一下个人记录。其实关于MVVM模式的原理我们大家在很早之前就接触过,网上也有很多释义,我就不多做解释,大家需要的话可以打开链接看一下,我在这里挑选了几篇   Android开发之MVVM新姿势探究      MVC MVP MVVM 谈谈我对Androi
转载 2023-11-13 21:23:33
153阅读
# Android两个页面共用一个ViewModel传值实现 ## 1. 整体流程 在Android开发中,如果需要两个页面共用一个ViewModel传值,可以通过以下步骤实现: | 步骤 | 描述 | | --- | --- | | 步骤一 | 在项目的build.gradle文件中添加Jetpack库的依赖 | | 步骤二 | 创建一个ViewModel类 | | 步骤三 | 在第一个页
原创 2023-11-14 03:55:48
411阅读
本文是楼主学习ViewModel 源码的一些总结,感觉ViewModel的源码是Android 三大架构中 最容易理解的一个了。本文ViewModel基于版本androidx.lifecycle:lifecycle-viewmodel:2.2.0本文内容结构一、简单介绍下ViewModel有什么作用和优点二、类图总结ViewModel原理有错漏之处 请多多指教。ViewModel作用通常与Live
转载 2023-10-04 20:35:36
227阅读
官方链接: 来一波预览使用: Android 开发者 | Android Developers - 这个方法创建方法略过时,最新的是这个:ViewModel Overview | Android Developers 集成方式: Lifecycle | Android 开发者 | Android Developers FragmentContainerView替换到了FragmentLayout
转载 2024-06-12 20:49:14
118阅读
关于MVVM架构,我并不想花篇幅去做重复性的描述,网上一搜都是一堆讲解,大家可以自行了解,我所做的只是以最简单的例子,最有效的步骤,从零开始,去实现一个相对有点学习参考价值的项目。先来看本文预计的实现效果可以看到,就是一个非常简单的例子,当点击登录按钮之后,对用户的输入进行一个简单的判断,满足要求之后跳转到首页,并显示用户输入的账户信息。那么接下来,将分步骤讲解如何以符合MVVM设计规范的代码来实
转载 2024-08-07 13:28:26
338阅读
关于ViewModelViewModel类的设计目的是以一种关注生命周期的方式存储和管理与UI相关的数据。 例如:Activity在配置发生改变时(屏幕旋转),Activity就会重新创建,onCreate()方法也会重新调用。我们可以在onSaveInstanceState()方法中保存数据,并从onCreate()方法中通过Bundle恢复数据,但这种方法只适用于可以对其进行序列化的少量数据
Android:JetPack开发笔记:ViewModel的简介和使用(上)什么是ViewModel?ViewModel 类旨在以注重生命周期的方式存储和管理界面相关数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。 简单来说,ViewModel就是一个用来管理界面数据的特殊类,它有着特殊的生命周期,与Activity的生命周期有所不同。为何要使用ViewModel:Acti
转载 2023-08-02 18:34:41
475阅读
ViewModel是存储UI相关数据并不会因为旋转而销毁的类。最为重要的就是ViewModel具有下面的生命周期,这就是ViewModel的最可贵之处: 正因为ViewModel有如此的生命周期,所以ViewModel在MVVM可以作为数据存储区,是连接View和Model重要组件,ViewModel的核心作用如下图所示: 这篇文字要弄清楚下面几个问题:1.ViewModel是怎么创建的?2.Vi
转载 2024-08-12 13:40:05
129阅读
Android开发中,数据与界面的分离一直是一项重要的挑战。为了解决这个问题,Google推出了Android Jetpack组件之一的ViewModelViewModel是一种用于管理UI相关数据的架构组件,它能够帮助开发者实现优雅的数据驱动和生命周期管理。本文将深入浅出地介绍ViewModel的使用和原理,带你一步步掌握这个强大的组件。什么是ViewModelViewModel是Andro
一、ViewModelViewModel 概览 | Android 开发者 | Android Developers注意:ViewModel 绝不能引用视图、Lifecycle 或可能存储对 Activity 上下文的引用的任何类。1. ViewModel其实只是一个抽象类class,只有一个onCleared函数,没有其他。很多人说他能感知生命周期是不严谨的;如果你直接new XXViewMod
转载 2023-10-19 11:32:10
327阅读
前言今天让我们一起去探究一下ViewModel的实现原理,描述的不对或不足还请海涵,仅作为参考1,ViewModel简介ViewModel是一个可感知Activity或Fragment生命周期的一个架构组件,当视图销毁,数据也会被清除,所以它的本质就是用来存储与视图相关的数据,让视图显示控制与数据分离,即使界面配置发生改变数据也不会被销毁,通常配合LiveData使用2,ViewModel用法cl
转载 2024-02-13 21:04:05
116阅读
  • 1
  • 2
  • 3
  • 4
  • 5