前言对于MVC、MVP、MVVM,这都是Android开发的一种架构,随着日积月累的开发,很对人对这几种模式是再熟悉不过了。不过当初我在学习的时候是因为看一个开源项目的源码是MVP架构的,也找个很多文章,发现很多文章不是全是概念,就是解释的含糊不清,所以写一篇文章来分享,让像我一样的小白可以快速理解这几种架构模式。MVCMVC全名 Model View Controller 模型(model)-
# RxJavaMVVM模式的结合 在现代Android开发中,RxJavaMVVM(Model-View-ViewModel)模式被广泛应用。它们的结合能显著提高应用的响应性与可维护性。本文将详细探讨这两者如何协同工作,提供一个简单的代码示例,并借助Mermaid语法展示相关的关系图和流程图。 ## 什么是MVVM模式 MVVM是一种软件架构模式,旨在分离用户界面(View)与业务逻辑
原创 1月前
45阅读
RxJava源码阅读理解系列(五)操作符concatMapgroupBy 操作符今天我们继续来阅读RxJava中常用的操作符的源码。concatMapconcatMap和flatMap基本功能类似,区别在于concatMap接收到的数据源顺序是有序的而flatMap是无序的。 因为在flatMap中,订阅操作订阅MergeObserver的时候并发地创建了多个InnerObserver并存储在了
# Android MVVM with RxJava ## Introduction In the world of Android development, there are various architectural patterns available to build robust and maintainable applications. One such pattern is
原创 10月前
48阅读
Android RxJava MVVM实现流程 ## 1. 概述 在Android开发中,使用RxJavaMVVM架构可以提高代码的可读性和可维护性。RxJava是一个强大的响应式编程库,而MVVM是一种设计模式,可以将代码逻辑与界面逻辑分离。本文将介绍如何在Android项目中实现RxJavaMVVM架构。 ## 2. 流程概述 下表是实现Android RxJava MVVM的基本步骤
原创 7月前
50阅读
一、准备工作要求Android Studio版本是1.5+,使用eclipse的同学暂时还没有办法使用该框架classpath 'com.android.tools.build:gradle:1.5.0'修改对应模块(Module)的 build.gradledataBinding { enabled true }二、MVVM的简单应用第一步:创建XML布局创建一个布局xml文件,就像以前
转载 2023-09-15 17:15:44
41阅读
RxJava背压主要用来解决异步订阅关系中,被观察者发送事件的速度与观察者接收事件的速度不匹配的问题。所谓背压,即生产者的速度大于消费者的速度带来的问题,比如在Android中常见的点击事件,点击过快则经常会造成点击两次的效果。在大多数情况下,由于被观察者发送事件速度太快,而观察者来不及响应处理所有事件,从而导致事件丢失、OOM等异常。RxJava 2.0中对背压的支持主要是通过Flowable类
转载 2023-05-27 15:36:59
250阅读
# Retrofit+RxJava+OkHttp+MVVM 科普指南 ## 1. 引言 在移动应用开发领域,网络请求是常见的任务之一。为了更好地处理网络请求和响应数据,在Android开发中,我们可以使用Retrofit、RxJava、OkHttp和MVVM设计模式的组合。 本文将为您详细介绍Retrofit、RxJava、OkHttp和MVVM的概念、用法和优势,以及如何将它们结合起来创建
原创 2023-08-12 10:55:53
174阅读
# RxJavaMVVM框架配合使用 ## 介绍 在现代的移动应用程序开发中,MVVM(Model-View-ViewModel)架构模式变得越来越流行。它是一种将业务逻辑与用户界面分离的设计模式,它的目标是提高代码的可维护性和可测试性。而RxJava是一种响应式编程库,它可以简化异步编程,并提供了丰富的操作符来处理数据流。 本文将介绍如何将RxJavaMVVM框架配合使用,以实现一个简
原创 2023-07-23 17:20:46
163阅读
结合Jetpack,构建快速开发的MVVM框架。项目使用Jetpack:LiveData、ViewModel、Lifecycle、Navigation组件。支持动态加载多状态布局:加载中、成功、失败、标题;支持快速生成ListActivity、ListFragment;支持使用插件快速生成适用于本框架的Activity、Fragment、ListActivity、ListFragment。前言随着
目录一、环境搭建二、MVVM架构1) 角色2) 数据驱动3) 角色区分三、优点四、DataBinding支持的表达式五、MVVM用法1. 模板写法2. 自定义Binding类名(Custom Binding Class Names)3. Layout布局中Includes 标签使用4. BaseObservable的方式 一、环境搭建Data Binding 插件需要Gradle 1.3以上及A
转载 27天前
15阅读
SharedPreference 简介顾名思义,Android 开发肯定会使用到SharedPreference。以下简称SPsp是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置。是以xml文件保到:/data/data/包名/shared_prefs目录下。类似键值对的方式来存储数据。sp提供了常规的数据类型保存接口比如:int、long、boolean、String、Flo
1、好处团队协作 可以用来统一开发人员的开发标准,在规模较大的程序当中,如果不采用统一的开发思维,很有可能在团队人员变化之后,新人搞不懂逻辑放在哪个类中。软件架构层面 项目会变得稳定,模块之间的耦合度会降低。 例如:采用MVVM,在界面当中(也就是在‘V’当中),不会包含与业务逻辑相关的代码。2、作用M:Model,指的就是数据,Javascript对象。 V:View,指的是试图部分,在前端中就
转载 11月前
78阅读
MVVM架构Model:JavaScript Object JavaScript对象View: DOMView Midel: DOM操作View:浏览器中所看到的html内容Model:对应vue中data的内容
原创 2022-03-19 11:02:56
148阅读
为什么使用MVVMiOS中,我们使用的大部分都是MVC架构。虽然MVC的层次明确,但是由于功能日益的增加、代码的维护,使得更多的代码被写在了Controller中,这样Controller就显得非常臃肿。为了给Controller瘦身,后来又从MVC衍生出了一种新的架构模式MVVM架构MVVM分别指什么MVVM就是在MVC的基础上分离出业务处理的逻辑到ViewModel层,即:Model层:请求
转载 2023-08-30 20:13:10
37阅读
1.什么是MVVM?双向绑定-数据变化视图跟着自动变化;大都采用声明式编程而非命令式。 1.2 设计模式:  Model–View–ViewModel是一种软件架构设计模式,这些模式也是依次进化而形成MVC—>MVP和MPF—>MVVM,是一种简化用户界面的事件驱动编程形式。  MVVM 源自于经典的 Model–View–Controller(MVC)模式  ,MVVM
转载 2023-07-04 09:15:26
141阅读
一、MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画
转载 2023-07-20 10:59:47
903阅读
MVVM架构Model:JavaScript Object JavaScript对象View: DOMView Midel: DOM操作View:浏览器中所看到的html内容Model:对应vue中data的内容
原创 2021-11-16 13:54:18
229阅读
MVVM框架概念1.概念经典MVVM模型图,由 View、Model、ViewModel 三部分组成。View:视图模版,负责将Model转化为UI,并展示;Model:数据模型,根据业务逻辑操作数据;ViewModel:通过*双向绑定*连接了View和Model;2.原理在MVVM架构中 Vue.js 的原理是对数据(Model)进行劫持(Object.defineProperty( )),在
MVC Model、View、Controller  1)最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。  2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。  3)中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结
  • 1
  • 2
  • 3
  • 4
  • 5