概述 该示例(TODO-MVP)是后续各种示例演变的基础,它主要演示了在不带架构性框架的情况下实现M-V-P模式.其采用手动依赖注入的方式来提供本地数据源和远程数据源仓库.异步任务通过回调处理. 注意:MVP中View的概念是有所不同的: android.view.View类我们叫它 "Android View" MVP中从P接收命令的东西我们叫它"View",后文说了,就是Fragment Fragment 采用Fragment作为视图的载体有两个原因: Acti…
基于前面的TODO示例,使用Data Binding库来显示数据并绑定UI元素的响应动作. 这个示例并未严格遵循 Model-View-ViewModel 或 Model-View-Presenter 模式,其中既有View Model,也有Presenter. 用到的Data Binding库保存样板代码,该代码允许将UI元素绑定到Data Model的一个属性. 布局文件中直接绑定数据到UI元素上 事件也与动作Handler进行绑定 数据可以被监听并根据需要自动同步更新 数据绑定 在上个例子…
概述 MVP(Model-View-Presenter)是传统MVC(Model-View-Controller)在Android开发上的一种变种.进化模式.主要用来隔离UI.UI逻辑和业务逻辑.数据,创建松散耦合并可重用的对象. 我们知道View层是容易变化且多种多样的,业务逻辑也是多种多样的,与传统的MVC相比,P充当了C的作用. Model存储数据,View表示Model的表现,Presenter协调两者之间的通信. 而后在MVP基础上也出现了一些变种,如MVVM,MVPVM等,相比较MV…
Android Studio重构之路,我们重新来了解一下Google官方的Android开发工具 记得我的第一篇博客就是写Android Studio,但是现在看来还是有些粗糙了,所有重构了一下思路,覆写了一篇 Google主推-Android开发利器--Android Studio,这可能是最全的AS教程! Android Studio,自Google2013年发布以来,就倍受Android开发者的喜爱,我们本书,就是基于Android Studio来进行案例演示的,大家都知道,Android…
国内因为某种原因,下载CM或Google官方的Android源码总easy中断.总看着机器.一中断就又一次运行repo sync还太麻烦,所以我特意编写了一段shell脚本(download.sh).通过获取shell最后返回的状态码来决定是否再次运行repo sync命令. #!/bin/bash echo "======start repo sync======" repo sync # 第一次下载android源码 while [ $? != 0 ]; do echo "…
本文不详细介绍什么是整洁架构以及 MVP 模式,自行查看文章结尾相关链接文章. 整洁架构粗略介绍 下图为整洁架构最原始的结构图: Entities/Models:实体层,官方说法就是封装了企业里最通用的一部分逻辑,也可以叫 Models, 可能是只包含数据字段的对象,也可能包含方法,具有一部分业务逻辑.更加深入就是领域驱动(DDD)开发相关的内容. Use Case/Service:包含核心业务逻辑. Interface Adapter:适配层/胶水层,负责内圈的 entity 和 use ca…
0. 前言 为了更好地进行移动端架构设计,我们最常用的就是MVC.MVP和MVVM,作为三个最耳熟能详的三大架构,应用可谓非常广泛.对于这三种架构设计以及优缺点已经在Android APP架构设计--MVC.MVP和MVVM介绍一文中介绍过了,本文是对前面那篇文章2.3小节的补充,介绍MVP模式在Android中的使用示例,目的在于深化对MVP架构的理解. 1.   使用场景 这里我们实现一个简单的登录功能.先看一下效果图. 1.1   Model层设计 Model层包括我们的基本实体类User…
presenter 主持人.主导器 ====== 1. 明确需求,界面如下:可存,可根据id读取数据. 包结构图 2. 建立bean public class UserBean { private String mFirstName; private String mLastName; public UserBean(String firstName, String lastName) { this. mFirstName = firstName; this. mLastName = lastN…
原文链接 http://sparkyuan.me/ 转载请注明出处 MVP 介绍 MVP模式(Model-View-Presenter)是MVC模式的一个衍生. 主要目的是为了解耦,使项目易于维护. Model 依旧是业务逻辑和实体模型 View 常常由Activity实现,包括Presenter的引用.所要做的就是当有交互时.调用Presenter里的相应方法. Presenter 负责完毕View于Model间的交互.从Model里取数据,返回给View处理好的数据. 为什么使用MVP 在以…
所谓MVP(Model-View-Presenter)模式.是将APP的结构分为三层: view - UI显示层 view 层主要负责: 提供UI交互 在presenter的控制下修改UI. 将业务事件交由presenter处理.注意. View层不存储数据,不与Model层交互. presenter - 逻辑处理层 presenter 层主要负责: 对UI的各种业务事件进行相应处理.也许是与Model层交互,也许自己进行一些计算,也许控制后台Task,Servic 对各种订阅事件进行响应,修改…