本文介绍 Java
单例模式,主要包括:
饿汉式单例实现
懒汉式单例简单实现
懒汉式线程安全加锁单例实现
懒汉式双重检查加锁单例实现。
使用枚举实现单例
请先阅读 Retrofit 开发-1(OkHttp+Retrofit基本使用)
本文建立在对 RxJava2.x
和 Retrofit
基本熟悉的基础上,主要是在 Android
平台下对 RxJava
+ Retrifit
发送请求进行封装方法的探索。
知其然(知道轮子是怎么用的),知其所以然(也要知道轮子是怎么造的)。
本文主要介绍 RxJava2.x
是如何通过流式API完成事件的传递和变换的,我们不是要全部把它弄的清清楚楚,那需要大量的时间和不断深入才可以,只是通过简单的例子来理解他的基本工作原理和主要功能。
看了很多文章,文章中会讲代理模式什么的,但我觉得更像是包装者模式,可能我理解有偏差😭,但是我觉得这样更好理解一些,我就先按照我的理解来写,后面不对再修正好了。
文中源码我会去掉错误检查和注解的部分代码,只保留核心代码,看起来更清晰。
本文主要介绍 RxJava2.x
强大的线程调度。
在 Android
开发中因为不允许阻塞主线程,所以所有的耗时请求都必须全部放在子线程来做,然后再去主线程更新UI,关于主线程和子线程的通信其实异常复杂,好在Android
给我们提供了 AsyncTask
,Handler
等方式来简化这一过程。使用 RxJava
会让切换线程变得更简单。
文中部分描述可能有些混乱,为了更好的看出在哪个线程调用,我会在子线程中执行我的代码,我就称它为 MyThread
,也就是调用代码所在的线程。io线程,计算线程,newThread线程就是我对 RxJava
几种内置线程的简称。上游线程就是被观察者所在的线程,下游线程是观察者所在线程,调用线程就是我调用代码的线程 MyThread
。这里简单理一下,虽然还是有点乱。
开始总结记录 RxJava
的相关内容,本文中所有涉及 RxJava
的地方均指 Rxjava2.0
。
本文主要以 Observable
和 Flowable
为例介绍如何创建被观察者和观察者,并连接他们。
Retrofit
本文介绍 OkHttp
和 Retrofit
的基本使用,包括:
创建和配置
OkHttpClient
创建和配置
Retrofit
如何使用
Retrofit
定义接口发起请求关于
Retrofit
中method
,path
,query param
,body
,Header
注解声明的介绍。