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

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

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

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

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

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

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

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

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

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

Android架构(一)MVP全解析

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

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

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

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

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

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

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

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

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

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

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

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

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

设计模式(八)外观模式

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

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

在Java1.5中,并发编程大师Doug Lea给我们带来了concurrent包,而该包中提供的ConcurrentHashMap是线程安全并且高效的HashMap,本节我们就来研究下ConcurrentHashMap是如何保证线程安全的同时又能高效的操作。...
阅读(6006) 评论(2)

Android 数据库开发(一)SQLite3概述

SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在Android、iOS等移动操作系统中的数据库实现也是使用的SQLite3。对于Android开发者来说数据库并不算很好维护,所以深入了解SQLite数据库也...
阅读(7934) 评论(2)
237条 共16页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    我的新书
    个人资料
    • 访问:1671421次
    • 积分:15142
    • 等级:
    • 排名:第780名
    • 原创:185篇
    • 转载:52篇
    • 译文:0篇
    • 评论:943条
    我的微博
    最新评论
    公众号
    百度统计