注册

异步数据加载和缓存数据的库:Store

Store

Store是一个异步数据加载和缓存数据的库。

实现一个 Disk Cache 需要以下几个步骤:

在 Retrofit 的 API 下

@GET("/v1/events")
Single getEventsResponseBody();
两点需要注意,一是要用 Single,而是要用 ResponseBody
  1. 创建 fetcher
private fun fetcher(): Single {
return service.getEventsResponseBody().map({ it.source() })
}
创建 Store
private fun provideStore(): Store {
return StoreBuilder.parsedWithKey()
.fetcher { fetcher() }
.persister(FileSystemPersister.create(FileSystemFactory.create(filesDir)) { key -> key })
.parser(JacksonParserFactory.createSourceParser(Events::class.java))
.open()
}
  1. 使用 Store
store.get("cache_key") // get or fetch


Github地址:https://github.com/NYTimes/Store

下载地址:Store-feature-rx2.zip

0 个评论

要回复文章请先登录注册