Android 使用 NYTimes Stores 缓存 network request

NYTimes Stores 是一个缓存库,在 2017年的 AndroidMakers 大会上被介绍过。

https://github.com/NYTimes/Store

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

  1. 在 Retrofit 的 API 下

@GET("/v1/events")
Single

  1. 创建 fetcher

private fun fetcher(): Single

  1. 创建 Store

private fun provideStore(): Store<Events, String> {
return StoreBuilder.parsedWithKey<String, BufferedSource, Events>()
.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

猜你喜欢

转载自www.cnblogs.com/davesuen/p/9261188.html
今日推荐