Closed ly469097645 closed 10 months ago
你需要自己构建Okhttp3.Response
对象,随后通过RxHttpPlugins.getCache().put(Response,String)
方法,覆盖原有的缓存
有这个对象构建的案例可以参考吗,然后是不是构建出这个对象后,第二个参数用同一个key就能实现覆盖
好的,我参考下,谢谢您
不好意思,再打扰下,就是构建这个对象需要多个参数,在我自己直接构建的时候这些参数要从哪获得才是正确的参数
把CacheManager看懂
但我还是建议你换个思路,你这个需求感觉就不合理
这个应用因为要进山里,存在山里没网络的情况,所以需要在本地先修改已经获取到的任务的状态等数据并更新UI,等到网络恢复的的时候进行提交 我是考虑用您的库自带的缓存然后来修改缓存数据实现,如果无法实现我可能考虑自己做本地数据库来维护这个数据
服务器返回的数据,修改后,重新提交给服务器?你这个修改指的是用户修改数据?比如修改EditText里的内容,然后保存起来?如果是这样,建议你自己维护这个数据还更简单,毕竟也就一个对象的事。自带的缓存,能实现这个需求,但实现起来确实不太方便。
对,比如这个列表的数据,当前是待处理,然后需要把这个任务处理了之后,把状态修改为已处理 ,正常的APP是修改后直接提交服务器,但是需求是在山里没网络的时候,要本地先把这些个字段修改好了展示(退出页面再进来也需要展示修改后的,就需要改缓存数据了),等到网络好了进行提交,所以再考虑用自带的缓存还是自己做数据库来保存,如果缓存不方便就自己实现了
如果只是更改一个状态,也没必要用数据库了,用SP就够了
嗯嗯,我是打个比方,因为可能存在一整个列表都要去改之类的,具体是用sp还是数据库等需求确定了再看,主要是看大神的这个库太好用了,就想着说能不能在这个基础上直接改,想偷懒下
val cacheKey = "自定义cacheKey"
val request = RxHttp.postForm(".../...")
.add("", "")
.setCacheKey(cacheKey)
.buildRequest()
//1、取出缓存
val response = RxHttpPlugins.getCahce().get(request, cacheKey)
//2、自己修改response
//3、重新写入缓存
RxHttpPlugins.getCahce().put(response, cacheKey)
如果要实现,大概就这么个逻辑
作者您好,我想咨询下,我的App需要支持离线使用,就比如说是流程类的业务,在列表已经缓存到数据的情况下,对列表的某条数据进行状态的更新,这时候需要将修改后的数据替换到已有的缓存中,不管什么时候打开都是展示修改后的状态,直到网络恢复时提交到服务端,这种情况下要怎么取出缓存并且进行缓存的更新