0%

Observable及其变种简介

类型 描述
Observable 能够发射0或n个数据,并以成功或错误事件终止。
Flowable 能够发射0或n个数据,并以成功或错误事件终止。 支持Backpressure,可以控制数据源发射的速度。
Single 只发射单个数据或错误事件。
Completable 它从来不发射数据,只处理 onComplete 和 onError 事件。
Maybe 能够发射0(onCompleted())或者1(onSuccess())个数据,要么成功,要么失败。
阅读全文 »

LruCache是Android 3.1所提供的一个缓存类,用于实现内存缓存。

LruCache是个泛型类,主要算法原理是把最近使用的对象用强引用存储在 LinkedHashMap 中。每次访问一个值时,它都会被移动到队列的头部。当一个值被添加到一个满的缓存队列中时,该队列末尾的值将被清除,并有可能成为垃圾收集的对象。

即当缓存满时,把最近最少使用的对象从内存中移除

阅读全文 »

使用

Get a URL

1
2
3
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url(url).build();
Response response = client.newCall(request).execute()

可以看到,完成一个Get请求需要OkHttpClient类型对象和Request类型对象。

阅读全文 »

创建被观察者

Observable

1
public abstract class Observable<T> implements ObservableSource<T> {...}

Observable是一个抽象类,实现了ObservableSource接口

阅读全文 »

首先看一下create()方法的使用流程

我们需要根据自己的需要创建要进行的网络请求的接口

1
2
3
4
public interface MyApi {
@GET("users/{user}/repos")
Call<List<Repo>> listRepos(@Path("user") String user);
}
阅读全文 »

FlowControl(流控)

简介

在RxJava中,遇到这样一种情况并不困难:Observable发出条目的速度比操作符或订阅者消费它们的速度要快。这就提出了一个问题,即如何处理这种不断增长的未消耗项目的积压。

阅读全文 »

简介

HashMap 是一个散列表(hash table),它存储的内容是键值对(key-value)映射

HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。

未命名文件 (15).png

阅读全文 »

ViewPager的使用

常见用法


网上一些教程上会运用以下方式在PagerAdapter中获取Fragment实例,即在构造PagerAdapter时传入相应的Fragment列表,也就是在构造PagerAdapter前已经将所有Fragment进行了初始化。

阅读全文 »