推荐一个Gradle的学习系列,Gradle相关的知识一直很匮乏,难得发现一个不错的系列: http://www.cnblogs.com/davenkin/p/gradle-learning-1.html 本文作者 本文由蚂蚁提供. 蚂蚁的博客地址: http://yugai.github.io/archives/ 对于MVP,其实是非常适合在Android项目中使用的架构,如果你目前还不清楚MVP的架构究竟是什么样子,那么可以参考Google给出的示例: https://github.com/…
Android  MVP 架构下  最简单的 代码实现 首先看图: 上图是MVP,下图是MVC MVP和MVC的区别,在于以前的View层不仅要和model层交互,还要和controller层交互.而在mvp中,view层只和presenter层交互,而model层也和presenter交互,presenter构成了view层和model层的桥梁,也解耦了view层和model层.这一点很关键.我认为,这也是mvp的本质: 解耦view层和model层,让view层和model层通过presen…
Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP 项目截图     这是我的目录结构 五步使用RxJava+Retrofit2+Okhttp+RxCache 第一步:导包 compile 'io.reactivex:rxjava:1.1.8' compile 'io.reactivex:rxandroid:1.2.1' compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' compile 'com.squa…
摘要: 在MVVM成熟之前MVP模式在Android上有被神化的趋势,笔者曾经在商业项目中从零开始大规模采用过MVP模式对项目进行开发.在使用MVP模式进行开发的时候发现项目的结构模式对开发是有一定的影响的,在这里笔者会对这一问题进行探讨.希望通过这篇blog能让读者了解如何使用MVP模式搭建一个功能完善的MVP模式开发框架,避免一些笔者认为比较严重的问题. 为什么要使用MVP模式 在传统的Android开发中,我们一般是使用MVC模式进行开发的.传统MVC模式介绍: View: 视图层,对应x…
前言 MVP,这里指的并不是篮球比赛中的MVP(最有价值球员),而是一种代码框架和设计思想,它是由MVC演变而来的. MVP模式(Model-View-Presenter) 是MVC模式的一个衍生.主要目的是为了解耦,使项目易于维护. Model 是业务逻辑和实体模型 View 是包含Presenter的引用.所要做的就是当有交互时,调用Presenter里的对应方法.通常会通过Activity实现 Presenter 是负责完成View于Model间的交互,从Model里取数据,返回给View…
Android架构(一)MVP架构在Android中的实践 https://www.300168.com/yidong/show-2790.html   核心提示:为什么要重视程序的架构设计 对程序进行架构设计的原因,归根结底是为了 提高生产力 .通过设计是程序模块化,做到模块内部的 高聚合 和模块之间的 低耦合 (如依赖注入就是低耦合的集中体现). 这样做的好处是使得程序开发过程中,开发人员主需要专注于一点, 为什么要重视程序的架构设计 对程序进行架构设计的原因,归根结底是为了 提高生产力 .…
实现原理: MainActivity 用来更新UI,和显示业务逻辑的结果! LoginPresenterCompl 用来处理 业务逻辑 ILoginPresenter 业务处理类抽象出来的接口 ILoginView activity抽象出来的接口 1.为什么要把activity的UI更新方法抽象出来? 因为你的项目不可能只有一个activity吧,如果想要每个activity都用MVP模式,那么就把共有的方法抽象出来就可以的 2.为什么要把业务处理类抽象出来? 同理,每个activity的业务处…
本文章一部分资料来源于网上 1.实现一键锁屏关键是DevicePolicyManager这个类,然后使用lockNow():方法. 2.DevicePolicyManager类,可以让你的做软件获得系统级别的操作,例如锁屏,恢复出厂设置等.要使用这个类就要填加一个权限android:permission="android.permission.BIND_DEVICE_ADMIN". 3.相关的代码 package com.example.mylock; import android.o…
原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Advanced-Build-Customization 7. Advanced Build Customization(高级构建定制) 7.1 Build options(构建选项) 7.1.1 Java Compilation options(Java编译选项) android { compileOptions { sourceCompatibili…
为了测试你的Android应用符合功能需求.最重要的是确保你的代码没有结构性问题.结构差的代码影响你的Android应用的可靠性,让你的代码难以维护.比如,如果你的XML资源文件包含未使用的明明空间,这会花费空间和不必要的进程.其他机构行问题,比如是哟个过时的API调用,如果设备API版本不兼容,可能导致运行失败. 概览 Android Studio提供了一个称为Lint的代码扫描工具,可以非常容易的帮你辨别和纠正代码的结构性质量问题,而无须你执行app或者编写测试用例.工具检测到的每个错误都会…