MVC、MVP、MVVM 三种流行的设计模式主要都是在解决数据和视图逻辑的分离问题MVC 模型Controller 层过于轻薄,只负责状态传递。View 逻辑较重,直接依赖 Model,并处理数据转化。在 Android 中直接演化为 Activity = Controller + ViewMVP 模型Activity 只承担 View 的职责,业务逻辑由 Presenter 处理,并通过 IVi
转载 2024-01-21 02:42:44
69阅读
在现代 Android 开发,结合 `ViewModel` 设计模式与 `RxJava` 是一种高效的数据管理和处理方式。这篇文章将详细讲解如何将 `ViewModel` 与 `RxJava` 进行适配,确保你的应用在数据流处理上更加优雅和效率。 ## 环境准备 在开始之前,我们首先需要准备好环境。确保你的开发环境里已集成以下依赖: ### 依赖安装指南 在你的 `build.gradle
原创 5月前
39阅读
# 实现Android RxJava ViewModel异步多请求 ## 流程表格 ```mermaid erDiagram |步骤|操作| |---|---| |Step 1|创建ViewModel| |Step 2|在ViewModel定义Observable请求| |Step 3|在Activity或Fragment中观察ViewModel的数
原创 2024-07-14 07:43:13
36阅读
# AndroidViewModel使用详解 作为一名经验丰富的开发者,我将为你详细介绍在Android如何使用ViewModelViewModel是一种设计模式,它的主要目的是将UI和数据分离,提供可复用的数据模型。 ## 流程图 ```mermaid flowchart TD A[创建ViewModel] --> B[设置观察者] B --> C[获取数据更新UI]
原创 2024-02-09 09:55:32
311阅读
google官网 ViewModel 概览    ViewModel有两个作用:1. 保存数据, 屏幕旋转或者其他config change引起的activity销毁。2. fragments之间的数据共享,以及加上Live Data后可以直接通信。  ViewModel的生命周期由下图可以看到,ViewModel的生命周期,不随屏幕旋转
转载 2024-05-31 01:20:47
70阅读
RXJAVA简介rxjava是一个可以轻松切换线程,使代码逻辑保持整洁清晰的异步工具采用观察者模式设计重要概念1. Observable(被观察者)创建方式create()Observable observable = Observable.create(new Observable.OnSubscribe<String>() { @Override public vo
ViewModel的作用是为界面准备数据,数据的获取操作(如网络请求)或者一些数据处理可以在该类编写方法,减少在Activity的代码。ViewModel里面的数据可以分为以下三类。普通数据,只是负责保存数据,无特别作用,可当做普通类来用 public class DataViewModel extends ViewModel { public String name; publ
转载 2023-07-08 19:33:43
943阅读
今天学习了ViewModel,其是Jetpack的一个类,它可以将界面的数据独立出来,这样不会造成页面上信息的丢失。我跟着视频做了一个简单的实例:首先创建项目的时候它和以往的项目会有些不一样,因为需要使用Jetpack库,所以需要勾选上Use legacy android.support libraries。   我们需要再com....这个文件夹下新建一个Jjav
转载 2023-05-22 14:01:19
235阅读
目录RxJava是什么及RxJava优势RxJava原理RxJava使用(创建、装配、消费)1、创建CreateJustFromInterval & IntervalRangeRange & RangeLongdefertimerEmpty & Never & Error2、装配阶段转换操作符--lift()转换操作符二转换操作符三转换操作符四转换操作符五线程调度筛
转载 2023-10-18 21:01:01
137阅读
# Android ViewModel 使用 Android ViewModel 是一种用于存储和管理界面相关数据的架构组件。它的设计目标是帮助开发者以一种生命周期感知的方式管理 UI 数据,避免内存泄漏和数据丢失。 ## 什么是 ViewModelViewModel 是 Android 架构组件库的一个类,主要用于存储和管理 UI 相关的数据。它的生命周期与 UI 组件(如 Acti
原创 2023-11-11 08:11:19
53阅读
# Android ViewModel 使用介绍 ## 1.引言 在Android开发,我们经常需要处理与用户交互相关的数据以及界面数据的保存与恢复。为了更好地管理这些数据,Google在Android架构组件引入了ViewModelViewModel是一个设计用于存储和管理UI相关数据的类,它旨在解决旋转屏幕等配置更改时数据的丢失问题。 本文将介绍什么是ViewModel以及如何使用
原创 2023-09-08 12:40:23
174阅读
今天在将项目从findViewById转到MVVM的databinding时,发现有的view绑定了数据,但是数据变了,view并不会跟着改变现场还原将用户信息的头像uri绑定到ImageView,理论上来说,userInfoAll.UserInfo.avatar发生了改变,就会调用load方法重新设置头像,但是并没有发生<layout xmlns:android="http://schem
转载 2024-07-05 05:49:32
94阅读
1、viewModel怎么实现的?ViewModel实现原理2、ViewModel是不是一直存在内存ViewModel是Android Jetpack组件库的一个组件,在Android MVVM模式中被广泛使用ViewModel的主要特性是以注重生命周期的方式存储和管理数据。这种特性体现在ViewModel与Android组件(Activity、Fragment和Service)的生命周期相
转载 2024-05-04 22:35:28
63阅读
之前工作用了很久MVP架构了,虽然很好的解决了M层与V层的耦合关系,但巨多的接口,难以复用、难以单测的问题一直萦绕心头,久久不能平复~~~,于是我将目光转向了MVVM。MVVM与MVP相比最大的区别就是用ViewModel(后文简称VM)代替了原来的P层,这里的VM就是ViewModel。一句话概括它的特点---对数据状态的持有和维护。换言之,它将原来P层关于数据的逻辑运算与处理统一放到了VM
转载 2024-08-29 15:14:37
128阅读
在Android开发,数据与界面的分离一直是一项重要的挑战。为了解决这个问题,Google推出了Android Jetpack组件之一的ViewModelViewModel是一种用于管理UI相关数据的架构组件,它能够帮助开发者实现优雅的数据驱动和生命周期管理。本文将深入浅出地介绍ViewModel使用和原理,带你一步步掌握这个强大的组件。什么是ViewModelViewModel是Andro
文章目录简介ViewModel的基本使用ViewModel原理全面剖析其他杂谈 简介为了更好地将职能划分清楚,Android为我们提供了ViewModel类,专门用于存放应用程序页面所需的数据。ViewModel可以这样理解:介于View(视图)和Model(数据模型)之间的东西。起到桥梁的作用,使视图和数据不仅能够分开,还能保持通信。ViewModel生命特征通常会在调用Activity对象的
转载 2023-08-31 00:41:15
202阅读
Container是在实际开发中经常用到的小部件,Container里组合了各种小部件,让我们开发更加便捷,来看一下的Container都有哪些属性.Container({ Key? key, this.alignment, this.padding, this.color, this.decoration, this.foregroundDecor
# 使用RxJava实现背压的完整指南 在现代应用开发,处理流数据的方式正在发生变化,RxJava作为响应式编程的一种实现,允许开发者以异步和非阻塞的方式处理数据流。然而,在高频数据流情况下,我们常常会遇到背压问题。背压是指处理消费者速度低于生产者生产速度,从而导致内存占用过高或应用崩溃的情况。 本文将详细介绍如何在RxJava使用背压技术,并通过代码示例逐步实现。 ## 流程概览 我
原创 8月前
24阅读
AndroidRxJava使用 ## 1. 引言 RxJava是一个在Android开发中非常有用的库,它提供了一种响应式编程的方式来处理异步和事件驱动的任务。对于初学者来说,学习RxJava可能会有一些困惑。本文将介绍RxJava使用流程,以及每一步需要做的事情和相应的代码示例。 ## 2. 整体流程 下面是使用RxJava的整体流程,可以用表格展示: | 步骤
原创 2023-12-15 04:29:15
71阅读
前言ViewModel是google推出的一个数据处理框架,ViewModel类是被设计用来以可感知生命周期的方式存储和管理 UI 相关数据ViewModel数据会一直存活即使 activity configuration发生变化.另外它生来可能目的就是与Fragment在数据共享上进行配合的.使用它常与LiveData数据前台类(类似观察者模式的数据实体回调类)进行配合以前使用,如果你未
转载 2023-07-28 15:59:21
2411阅读
  • 1
  • 2
  • 3
  • 4
  • 5