- 博客(62)
- 收藏
- 关注

原创 设计模式开山篇
目录一.什么是设计模式二.设计模式所需要遵循的六大原则1.开闭原则(Open close principle)2.里氏替换原则(Liskov Substitution principle)3.依赖倒置原则(Dependence Inversion principle)4.接口隔离原则(Interface Segregation Principle)5.迪米特法则,又称最少知道原则(Demeter ...
2019-11-12 15:01:40
190
原创 聊聊HTTP协议及HTTPS
目录一.什么是HTTP协议1.概念2.格式1)请求的格式2)响应的格式二.HTTP的缓存三.聊一聊POST请求的几种传参一.什么是HTTP协议1.概念HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(...
2020-03-15 20:56:50
497
原创 Java的会话技术Cookie和Session
目录一.什么是会话技术?二.什么是Cookie?1 使用步骤2.Cookie的细节3.Cookie的特点和作用三.什么是Session?1.概念2.Session的基本使用3.服务器如何确保在一次会话中多次获取的Session一致性?4.Session的细节5.session的特点四.Session和Cookie的区别1.存放位置2.数据大小3.安全性一.什么是会话技术?HTTP协议本身是无...
2020-03-15 13:42:46
495
原创 AS 解决support-annotations版本冲突
一个Gradle support-annotations版本冲突的坑,报错如下:What went wrong:Execution failed for task ‘:testAppForMobile:lint’.Could not resolve all artifacts for configuration ‘:testAppForMobile:debugAndroidTestRu...
2020-03-10 01:33:29
2133
原创 RecycleView
目录一.RecycleView是什么二.玩玩RecycleView在build.gradle中配置在布局中添加一.RecycleView是什么RecycleView是2014年谷歌大会推出的Android5.0Lollipop的一个架构,提供一个高度解耦,灵活性和高效率的体验,通过设置它提供不同的LayoutManager、ItemDecoration、ItemAnimator 可实现更加丰...
2019-12-13 23:54:23
238
原创 从Android Apt(Annotation-Processing-Tool)到手写一个Android6.0以上的运行时权限申请框架
目录一.什么是APT二.用APT写一个自己的权限框架一.什么是APTapt是一种注解处理工具,对源码文件进行检测找出其中的注解,根据注解会自动生成代码,如果想要自定义的注解处理器能够正常运行,必须要通过apt工具来进行处理。相信用过EventBus、ButterKnife、Dagger2的同学都会有所了解,因为它们都用的是APT的技术。如果对于注解都不了解的,可以去看下我之前写过的注解反射一...
2019-12-09 11:13:01
264
原创 学习札记:设计模式之解释器模式
文章目录一.什么是解释器模式二.解释器模式的写法一.什么是解释器模式给定一个语言,定义文法表示,并定义一个解释器去解释定义的句子。二.解释器模式的写法...
2019-12-04 17:31:33
245
原创 设计模式之状态模式
目录一.什么是状态模式二.状态模式怎么写三.小结一.什么是状态模式类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。二.状态模式怎么写状态模式主要有环境角色,抽象状态角色,具体状态角色。且看UML类图三.小结状态模式是解决对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。当代码中包含大量与对象属性相关的条件语句时采用状态模式。...
2019-12-04 15:56:50
158
原创 设计模式之访问者模式
目录一.什么是访问者模式二.访问者模式怎么写三.小结一.什么是访问者模式我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变,也就是数据结构和操作分类。这种类型的设计模式属于行为型模。二.访问者模式怎么写三.小结...
2019-12-04 14:03:13
105
原创 设计模式之备忘录模式
目录一.什么是备忘录模式二.备忘录模式怎么写一.什么是备忘录模式备忘录模式是一种行为设计模式,保存对象的状态,并在适当的时候去恢复该对象的状态。二.备忘录模式怎么写...
2019-11-29 22:00:01
118
原创 ERROR: No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
在SVN上拉项目发现报了这个错,咋办,它提示你要更细插件版本了,因为服务器上同事用的插件版本小于我的版本,导致NDK报错了,只要改下项目的插件版本就可以了。改这里:完美解决。...
2019-11-20 16:00:29
112
原创 设计模式之享元模式
目录一.什么是享元模式二.理解享元模式一.什么是享元模式享元模式就是减少对象的创建以此来减少内存占用,提高性能。也是种结构性设计模式。二.理解享元模式通过享元模式的概念相信就很容易理解,无非就是使用缓存的,不去重复创建对象,下面通过一个例子来体现下享元模式,...
2019-11-17 11:26:57
127
原创 设计模式之组合模式
目录一.什么是组合模式二.组合模式的使用三.一.什么是组合模式讲对象组合成属性结构,用来表示“部分-总体”的层次架构,使得单个对象和组合对象的使用具有一致性。二.组合模式的使用还是用一个例子来说明,就用我们公司的架构来做例子,我们公司总部在上海,上海的总部有人力资源部、终端部、JAVA部门、页面部门等,还有长沙河南分公司也有相应的部门,三....
2019-11-12 23:37:30
129
原创 设计模式之责任链模式
文章目录一.什么是责任链模式二.责任链模式的写法一.什么是责任链模式责任链模式是多个对象都有机会处理请求,从而避免请求的发送者和接收者耦合关系,将这个对象连成一条链,并沿着这个链进行传递,直到有人处理这个请求。二.责任链模式的写法我们用一个在工作中常见的一件事来描述责任链模式,比如我们在工作中请假,加薪的请求。我们可能要首先要向主管请假,主管如果有这个权限批准,就直接批准了,如果没有...
2019-11-11 22:12:31
130
原创 设计模式之建造者模式
文章目录一.什么是建造者模式二.建造者模式怎么写一.什么是建造者模式将一个复杂的对象的创建与它的表示分离,使得同样的创建过程有不同的表示。二.建造者模式怎么写1.一般的建造者模式,我们通过造房子的UML类图来理解一下...
2019-11-11 16:11:55
131
原创 一篇博客带你熟悉Eclipse、AndroidStudio下搭建NDK环境(内有Demo)
文章目录一.NDK可以干什么?二.NDK开发流程三.一个简单的NDK小案例的编写一.NDK可以干什么?NDK:(Native Development Kit),原生开发工具包是一组可以让您在Android应用中利用C和c++代码的工具,可用以从您自己的源代码构建,或者利用现有的预构建库.二.NDK开发流程.在Eclipse下搭建NDK环境1.编写java的native方法2.ja...
2019-11-10 11:34:32
315
原创 组件化开发、样例展示和Arouter基本使用
文章目录一.什么是组件化?二.组件化开发的好处三.组件化开发框架的搭建一.什么是组件化?组件是对数据和方法的简单封装,功能单一,高内聚,并且是业务能划分的最小粒度。传统的项目架构图(以下图片来源于网络):使用了组件化开发之后二.组件化开发的好处1.提高了编译和调试速度,因为每个组件都既可以作为库和App工程,所以可以单独编译调试,避免了整个项目的编译和调试。2.代码解耦...
2019-11-02 12:39:50
227
原创 Dagger2快速上手系列二
学习札记:Dagger2快速上手系列一学习札记:Dagger2快速上手系列二上文我们简单的介绍了Dagger2的的快速使用,这篇文章来说一说Dagger2的一些坑和注意事项。1.@Named注解的使用Dagger2中用@Name来依赖注入的对象做限定,这句话是什么意思呢,也就是说比如我们在上文的例子中,我们通过依赖注入返回SUserManager对象,如果此时我们需要返回两个不同这...
2019-10-19 22:24:49
132
原创 Dagger2快速上手系列一
一. Dagger2是什么Dagger2是Dagger的升级版,是一个依赖注入框架,第一代由大名鼎鼎的Square公司共享出来,第二代则是由谷歌接手后推出的,现在由Google接手维护二.Dagger2优势1.解耦...
2019-10-19 08:30:14
156
原创 ButterKnife配置和使用
一.ButterKnife的优势1、强大的View绑定和Click事件处理功能,简化代码,提升开发效率2、方便的处理Adapter里的ViewHolder绑定问题3、运行时不会影响APP效率,使用配置方便4、代码清晰,可读性强二.ButterKnife的基础配置1.添加依赖:在项目中的app的build.gradle中的dependencies{api ‘com.jakewh...
2019-07-15 12:22:48
262
原创 lesson9:java的反射,注解总结
目录一.理解反射二.反射的基本使用一.理解反射反射机制是用来描述所有的类Class 描述类本身 Field 描述属性 Method描述方法 Construtor描述类构造方法 package描述类的包 Annotion 描述类中的注解(注解可以放在方法,参数,类上面,方法上等)二.反射的基本使用1.Class 对象的获取a.Class clz=Class.forName(“类全...
2019-05-29 17:41:44
169
原创 设计模式之观察者模式
目录一.什么是观察者模式二.为什么需要观察者模式三.一个简单的例子带你了解观察者模式的使用一.什么是观察者模式二.为什么需要观察者模式通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生子类来扩展,抑或是使用对象组合的方式。显然,直接修改对应的类的方式并...
2019-05-23 16:04:05
153
原创 Java生产消费者模型介绍和写法
一.模型定义1.生产者持续生产,直到缓冲区满,阻塞;2.缓冲区不满后,继续生产消费者持续消费,直到缓冲区空,阻塞;3.缓冲区不空后,继续消费生产者可以有多个,消费者也可以有多个二.几种写法1.常规写法:...
2019-05-22 21:12:12
543
原创 lesson8:java的集合类
目录一.为什么需要集合类二.java集合的框架1.List接口2.Queue接口3.Set接口4.Map接口一.为什么需要集合类我们在编程时,常常需要集中存放多个数据,这个时候,我们可能会想到数组,但是数组的长度是固定的,于是我们就有了集合,java中的集合类是特别有用的工具,可以存放数量不等的多个对象,并且可以实现映射关系的关联数组。二.java集合的框架java集合的框架主要有C...
2019-05-20 20:47:24
167
原创 设计模式之装饰器模式
目录一.什么是装饰器模式二.为什么需要装饰器模式三.一个简单的例子带你了解装饰器模式的使用一.什么是装饰器模式装饰器(Decorator)模式又称为包装(Wrapper)模式。装饰器模式动态来扩展对象的功能,是继承关系的一个替代方案。二.为什么需要装饰器模式通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生子类来扩展,抑或是使用对象组合的方式。显然,直接修改对应的类的方式并...
2019-05-16 11:38:07
300
原创 lesson7:java的IO流
目录一.what?(什么是IO流)二.why?(为什么需要IO流)三.how?(怎样使用IO流)1.IO流的分类2.常见IO流使用一.what?(什么是IO流)Java把不同的输入输出源(键盘、文件、网络文件等)抽象成流的形式,通过流的方式,使得java程序以相同的方式去访问不同的输入输出源,流是输出到输入端的一种有序数据二.why?(为什么需要IO流)IO流是输入输出的基础,使得文...
2019-05-14 21:31:22
299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人