前言: 一直致力于提高开发效率降低项目耦合,今天想抽空学习一下MVP架构设计模式,学习一下如何运用到项目中. MVP架构设计模式 MVP模式是一种架构设计模式,也是一种经典的界面模式.MVP中的M代表Model, V是View, P是Presenter. Model 一部分是处理业务逻辑,一部分是提供View显示的数据. View 代表的是一个接口,一个将UI界面提炼而抽象出来的接口. Presenter Model和View之间的桥梁 为什么采用MVP 降低耦合度 模块职责划分明显 利于测试驱…
前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上,一直没有看到支持Java8的消息.Android到底会不会支持Java8呢?答案是肯定的,Android N已经开始支持Java 8 了. 关于Java 8 (1.)使用Lambda表达式 Java 8的一大亮点是引入Lambda表达式,使用它设计的代码会更加简洁.当开发者在编写Lambda表达式时…
公司的大佬用的是这一套,那我这个菜鸟肯定要学习使用了. 我在网上找了很多文章,写的都很详细,比如 https://www.jianshu.com/u/5fd2523645da https://www.jianshu.com/p/193d8c37c73c 趁热打铁,写一篇学习笔记,理顺思路. 先把他们都引入 //rxjava compile 'io.reactivex.rxjava2:rxjava:2.2.0' compile 'io.reactivex.rxjava2:rxandroid:2.0…
一.综述 设计模式,根据前人经验总结出常见软件工程问题的解决思想套路.GoF一共归纳了23种设计模式,当然还有人扩充,不止这些.设计模式主要利用面向对象语言的特性,而android 的设计主要用JAVA语言,有很多地方用到设计模式. 二.设计原则 设计模式是遵循面向对象设计的五个设计原则来设计的,如下:1.单一职责原则(SRP)--一个类只能有一个职责,多个职责耦合在一起,会影响复用性.2.开放封闭原则(OCP)--对扩展是开放的,而对修改是封闭的3.Liskov替换原则(LSP)--继承必须确…
1.Dialog概述 对话框一般是一个出现在当前Activity之上的一个小窗口,处于下面的Activity失去焦点, 对话框接受所有的用户交互. 对话框一般用于提示信息和与当前应用程序直接相关的小功能. 2.Dialog 分类: 警告对话框 AlertDialog : 一个可以有0到3个按钮, 一个单选框或复选框的列表的对话框. 警告对话框可以创建大多数的交互界面, 是推荐的类型. 进度对话框 ProgressDialog: 显示一个进度环或者一个进度条. 由于它是 AlertDialog 的…
前言: 一直致力于为公司寻找更加高效的解决方案,作为一款K12在线教育App,功能中难免会有LaTeX数学公式的显示需求,这部分公司已经实现了此功能,只是个人觉得在体验和效率上还是不太好,今天来聊一下如何让原生渲染LaTeX数学公式. 先了解一下LaTeX数学公式 什么是Latex?感兴趣的同学可以查看百科:Latex百科. Latex数学公式:就是通过Latex来表示一个数学公式,举例说明: 例如:$$ \\[ \\sum_{k=1}^n k^2 = \\frac{1}{2} n (n+1).…
前言: 关于Android渠道打包是一个比较老的话题,今天主要记录总结一下多渠道打包以及如果动态配置修改一些资源属性.今天以公司实际需求为例进行演示,由于项目复用很多公共的业务组件,而且业务组件之间的跳转采用Scheme协议,每个业务组件的host地址不变,所以需要在打包的时候动态修改scheme协议名字.为了方便举例,首先我们这里假设我们一个App要打出两个不同的渠道,方便进行数据统计. 第一步声明一个渠道参数 AndroidManifest.xml中 <meta-data android:n…
实现原理: MainActivity 用来更新UI,和显示业务逻辑的结果! LoginPresenterCompl 用来处理 业务逻辑 ILoginPresenter 业务处理类抽象出来的接口 ILoginView activity抽象出来的接口 1.为什么要把activity的UI更新方法抽象出来? 因为你的项目不可能只有一个activity吧,如果想要每个activity都用MVP模式,那么就把共有的方法抽象出来就可以的 2.为什么要把业务处理类抽象出来? 同理,每个activity的业务处…
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 1.打开Android Studio时出现以下界面,点击”start a new Android Studio project”来新建一个项目: 2.出现以下界面,填好项目的名字和储存位置,点击next: 3.选好Minimum SDK继续点击next: 4.选择一个blank activity,点击next: 5.为刚才的activity填写相关信息,然后点击next: 至此,一个project就建立好了.下面熟悉…
常用控件 9.Dialog 我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框 对话框,要创建对话框之前首先要创建Builder类创建者,Builder是AlertDialog的子类,而且还是它的内部类. setPositiveButton --设置最左边的按钮setNeutralButton --设置中间的按钮setNegativeButton --设置最右边的按钮 builder = new Builder(Ma…