关闭
当前搜索:

Android事件总线(四)源码解析otto

上一篇文章中讲到了otto的用法,这一篇我们来讲一下otto的源码。可能有人觉得otto过时了,但是通过源码我们学习的是高手设计otto时的设计理念,这种理念是不过时的。...
阅读(3328) 评论(0)

Android事件总线(三)otto用法全解析

otto 是 Square公司发布的一个发布-订阅模式框架,它基于Google Guava 项目中的event bus模块开发,针对Android平台做了优化和加强。虽然Square已经停止了对otto的更新并推荐使用RxJava和RxAndroid来替代它,但是otto的设计理念和源码仍旧值得学习。...
阅读(2610) 评论(0)

Android网络编程(十一)源码解析Retrofit

最近博客的产出确实很少,因为博主我正在写一本Android进阶书籍,两头很难兼顾,但是每个月也得至少发一篇博客。上一篇我们介绍了Retrofit的使用方法,这一篇我们照例来学习Retrofit的源码。...
阅读(3707) 评论(1)

这只是个开始,写在CSDN博客访问量破百万

对与很多技术博客大神,百万的访问量不值一提,但是对我来说,这是一个里程碑,也是一个新的开始。因此写此文来纪念下,希望几年后的我阅读此文仍旧能不忘此时的初心。...
阅读(2965) 评论(11)

Android网络编程(十)Retrofit2后篇[注解]

在上一篇中我们了解了Retrofit的最基本的GET方式访问网络的写法以及请求参数的简单介绍。这一篇我们来详细的了解Retrofit的请求参数。...
阅读(4657) 评论(0)

Android多线程(三)AsyncTask源码分析(Android7.0)

此前写过一篇AsyncTask源码分析的文章,但写的不是很好,最近看过了android7.0的AsyncTask源码,所以准备再写一篇。...
阅读(2943) 评论(1)

设计模式(十一)策略模式

当我们写代码时总会遇到一种情况就是我们会有很多的选择,由此衍生出很多的if…else,或者case。比如我们根据学生的成绩来评级,60分是及格,90分是优秀,这就会用到很多if…else或者case。当然很多个算法集中在一个类的时候就会使得这个类变得臃肿,维护的成本也会加大。...
阅读(5374) 评论(2)

Android网络编程(九)Retrofit2前篇[基本使用]

Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,而OkHttp现在已经得到Google官方认可,不了解OKHttp的请查看本系列的前作。...
阅读(6612) 评论(2)

Android响应式编程(一)RxJava前篇[入门基础]

在讲到RxJava之前我们首先要了解什么是ReactiveX,因为RxJava是ReactiveX的一种java实现。 ReactiveX是Reactive Extensions的缩写,一般简写为Rx,微软给的定义是,Rx是一个函数库,让开发者可以利用可观察序列和LINQ风格查询操作符来编写异步和基于事件的程序,开发者可以用Observables表示异步数据流,用LINQ操作符查询异步数据流, 用Schedulers...
阅读(6838) 评论(0)

Android网络编程(八)源码解析OkHttp后篇[复用连接池]

上一篇我们根据OkHttp的源码讲解了OkHttp的请求网络流程,这一讲我们接着根据源码了解OkHttp的复用连接池。...
阅读(9502) 评论(2)

设计模式(十)工厂方法模式

在此前的设计模式(四)简单工厂模式中我们介绍了简单工厂模式,在这篇文章中我们来介绍下工厂方法模式,它同样是创建型设计模式,而且又有些类似,文章的末尾会介绍他们之间的不同。...
阅读(4391) 评论(1)

Android架构(一)MVP全解析

关于架构的文章,博主很早就想写了,虽说现在比较流行MVVM,但是MVP以及MVC也没有过时之说,最主要还是要根据业务来选择合适的架构。当然现在写MVP的文章很多,也有很多好的文章,但是大多数看完后还是一头雾水,所以还是自己总结比较靠谱。...
阅读(9557) 评论(14)

Android事件总线(二)EventBus3.0源码解析

上一篇我们讲到了EventBus3.0的用法,这一篇我们来讲一下EventBus3.0的源码以及它的利与弊。...
阅读(7580) 评论(0)

设计模式(九)模版方法模式

在软件开发中,有时会遇到类似的情况,某个方法的实现需要多个步骤,其中有些步骤是固定的,而有些步骤并不固定,存在可变性。为了提高代码的复用性和系统的灵活性,可以使用模板方法模式来应对这类情况。...
阅读(4980) 评论(3)

Android事件总线(一)EventBus3.0用法全解析

EventBus是一款针对Android优化的发布/订阅事件总线。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅,以及将发送者和接收者解耦。如果Activity和Activity进行交互还好说,如果Fragment和Fragment进行交互着实令人头疼,我们会使用广播来处理,但是使用广播稍显麻烦并且效率也不高,如果传递的数据是实体类需要序列化,那么很显然成本会有点高。今天我们就来学习下Ev...
阅读(39353) 评论(22)

Java并发编程(七)ConcurrentLinkedQueue的实现原理和源码分析

我们要实现一个线程安全的队列有两种实现方式一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本节我们就来研究下ConcurrentLinkedQueue是如何保证线程安全的同时又能高效的操作的。。使用阻塞算法的队列可以用...
阅读(6543) 评论(0)

Android网络编程(七)源码解析OkHttp前篇[请求网络]

学会了OkHttp3的用法后,我们当然有必要来了解下OkHttp3的源码,当然现在网上的文章很多,我仍旧希望我这一系列文章篇是最简洁易懂的。...
阅读(6586) 评论(7)

Java并发编程(六)阻塞队列

在Android多线程(一)线程池这篇文章时,当我们要创建ThreadPoolExecutor的时候需要传进来一个类型为BlockingQueue的参数,它就是阻塞队列,在这一篇文章里我们会介绍阻塞队列的定义、种类、实现原理以及应用。...
阅读(11435) 评论(2)

设计模式(八)外观模式

当我们开发Android的时候,无论是做SDK还是封装API,我们大多都会用到外观模式,它通过一个外观类使得整个系统的结构只有一个统一的高层接口,这样能降低用户的使用成本。...
阅读(11976) 评论(0)

Java并发编程(五)ConcurrentHashMap的实现原理和源码分析

在Java1.5中,并发编程大师Doug Lea给我们带来了concurrent包,而该包中提供的ConcurrentHashMap是线程安全并且高效的HashMap,本节我们就来研究下ConcurrentHashMap是如何保证线程安全的同时又能高效的操作。...
阅读(7230) 评论(3)
243条 共13页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    我的新书
    个人资料
    • 访问:1921058次
    • 积分:16692
    • 等级:
    • 排名:第730名
    • 原创:191篇
    • 转载:52篇
    • 译文:0篇
    • 评论:1022条
    我的微博
    最新评论
    公众号
    百度统计