系统架构
康嘉航
双管老烟枪
展开
-
OKHttp原理分析
最近生活上出了一些问题,对自己的人生也思考了很多,做安卓开发的程序员确实需要许多努力,可能你稍微有些懈怠就会被别人超过,甚至被行业淘汰,所以大家一定要多努力,但是同时也要注意自己的身体,身体出问题了其他的都成了空谈,好了废话就不多说了这里我们从调用流程上分析一下OKHttp的源码让大家对这个框架有所了解,希望能帮助到你们。首先看我们的调用流程这里我们做一个简单的调用。OkHttpCli...原创 2018-03-15 19:23:01 · 6278 阅读 · 1 评论 -
Android Architecture Components(AAC)2 Room进一步封装
上篇文章 Android Architecture Components(AAC)1 数据库架构Room 我们介绍了room的基本使用以及它的优缺点,接下来我们继续对room这个数据库框架分析。 先从dao类入手这里我们添加了一个baseDao这个dao作为所有dao的父类分装了共通化的数据库处理。@Daopublic interface BaseDao<T> { ...原创 2018-09-12 17:36:55 · 1787 阅读 · 0 评论 -
Android Architecture Components(AAC)1 数据库架构Room
谷歌在开发新的技术的同时也在架构上不断给大家在架构上推出新的思路旨在减少代码的耦合度提高项目的扩展性,从最初引入java的MVC理念到MVP,再到15年的MVVM,去年谷歌大会又推出了新的架构理念AAC,在这里我们首先着重介绍AAC的相关组件当大家对这些组件了解后再对整体AAC架构进行分析。 Room是谷歌新推出的一个数据库的架构,使用起来很方便下面,下面我将从3个方面对数据库的使用进行分析。...原创 2018-09-12 11:59:35 · 640 阅读 · 0 评论 -
带你一步一步认识MVP -step3
经过上一篇博客的介绍 带你一步一步认识MVP -step2 接下来我们就来解决上一篇博客遇到的问题 首先还是先来我们的base类 我们来看basemodel类这个类就是个空壳没什么逻辑处理/** * Created by PC-304 on 2018/5/8. * model的base类 */public class BaseModel {}接下来是baseView类跟...原创 2018-05-09 14:04:29 · 248 阅读 · 0 评论 -
带你一步一步认识MVP -step2
经过上一篇文章的介绍我们已经对mvp有了比较清晰的认识,上一篇博客链接如下 带你一步一步认识MVP -step1 接下来我们就来解决之前mvp遗留的问题。 1. 很多代码是公用反复的,attach detach 每个 Presenter 都要有 2. Activity -&gt; View 的 attach detach 每个 View 层也要有 3.可能有内存泄漏风向(我们的atta...原创 2018-05-09 11:26:00 · 303 阅读 · 0 评论 -
带你一步一步认识MVP -step1
最近换了一家公司项目用的架构是MVP之前一直在用MVVM,也用过一段时间MVP,在这里我还是分享下我对mvp的认识,希望这篇博客能帮助到想用mvp的小伙伴们。 为了让大家了解MVP的演变过程我这里先从最简单的来。 1.最简单的MVP 为了节约大家学习成本我这里就将复杂逻辑简单化处理了 首先使我们的model层的处理(这个过程可以使网络请求也可以是数据库查询处理)public class...原创 2018-05-09 09:47:51 · 269 阅读 · 0 评论 -
Aspectj 面向切面编程在Android中的应用
按照以往的惯例在写的博客中都要配上一张图这次由于没有什么界面上的东西算是系统架构上的知识,所以下面就给大家配上一张美女图片吧,给大家养养眼。 好了言归正传咱们还是回归到代码当中去吧。 首先我们需要下载aspectj的jar包 下载路径为:aspectJ下载链接 下载完成之后双击安装,安装的过程很简单的只需要设置我们的路径就行了。 之后就是配置我们的gradle文件配置如下ap...原创 2018-04-09 19:41:16 · 331 阅读 · 0 评论 -
设计模式-观察者设计模式
现在是晚上7点半相信不少哥们还在跟我一样奋战在公司第一线,不过我的情况特殊一些可能,我是留下来分享下最近所学的东西,希望能帮助到其他的哥们儿,可能其他的哥们儿是在写公司的项目功能代码,希望各位老铁注意身体别熬得太晚。首先我们先看我要讲的内容的结构图,如下。 我要讲的东西结构大致如下被观察者通过register注册观察者,当执行被观察者的update方法后我们会循环执行观察者的push方法...原创 2018-03-26 19:39:59 · 174 阅读 · 0 评论 -
OKHTTP源码分析-CallServerInterceptor
CallServerInterceptor是okhttp里面最后一个拦截器这可能也是我对okhttp源码解析的最后一篇文章了,解析完了这个拦截器后会对其他的内容进行分享。 让我们直接先看源码: @Override public Response intercept(Chain chain) throws IOException { RealInterceptorC...原创 2018-03-26 18:17:14 · 331 阅读 · 0 评论 -
OKHTTP源码分析-ConnectInterceptor
看了上面的CacheInterceptor估计许多小伙伴们都开始感觉要吐了,没准心里还可能奔腾着一万只羊驼,这次我们要讲的内容比较简单是这几个拦截器里面比较好理解的。 先上代码 @Override public Response intercept(Chain chain) throws IOException { RealInterceptorChain realChain...原创 2018-03-22 14:22:43 · 184 阅读 · 0 评论 -
OKHTTP源码分析-CacheInterceptor
有了前面两章的分析小伙伴们应该对我们的okhttp拦截器有了比较清晰地认识了这次我们介绍一个重量级的拦截器CacheInterceptor顾名思义这个拦截器是处理我们请求缓存的加入我们请求设置了缓存走到这里后会优先调用缓存而不会走网络,那我们就二话不说上代码吧。@Override public Response intercept(Chain chain) throws IOExcepti...原创 2018-03-16 17:55:03 · 192 阅读 · 0 评论 -
OKHttp源码分析-BridgeInterceptor
在上一篇博客中我们介绍了一下RetryAndFollowUpInterceptor拦截器内容也是比较多的这次我们先介绍个简单的拦截器BridgeInterceptor,这个拦截器的主要作用就是对请求参数做一下处理内容也是很简单我们直接上源码。 BridgeInterceptor三步走策略1. 取出请求头判断头文件缺失内容如果没有则补充上 2. 调用 chain.proceed方法吧请求交...原创 2018-03-16 16:44:00 · 225 阅读 · 0 评论 -
OKHttp源码分析拦截器-RetryAndFollowUpInterceptor
继上一篇博客我们继续分析okhttp这里我们要着重分析的是okhttp的拦截器。 RetryAndFollowUpInterceptor主要完成的工作为初始化StreamAllocation通过StreamAllocation创建一个连接对象调用realChain.proceed丢给下一个拦截器处理请求的内容捕获异常对处理后的内容做进一步的分析处理我们首先来看OKhttp的第...原创 2018-03-16 15:25:19 · 488 阅读 · 0 评论 -
Android Architecture Components(AAC)3 lifecycle生命周期管理者
lifecycle相对于以前的room要相对简单许多这里我们简单介绍下 1.gradle配置 annotationProcessor "android.arch.lifecycle:compiler:1.1.1" implementation "android.arch.lifecycle:extensions:1.1.1"2.定义一个观察者接收传递过来生命周期回调这里...原创 2018-09-13 15:18:50 · 256 阅读 · 0 评论