如何在okhttp中删除缓存中的URL?

时间:2017-09-17 08:16:26

标签: java android caching iterator okhttp3

我使用带有okhttp3的Retrofit 2库在我的Android应用程序中进行API调用。我需要在某些操作后使某些特定URL的缓存无效(在创建新帖子后获取帖子无效)。

在互联网上,每个人都说我需要获取Cache迭代器并通过调用remove()方法删除url,但是没有人显示如何正确地执行它。我试图以这种方式从缓存中删除第一个URL:

Cache.urls().next().remove()

但是因为urls()方法是非静态的,所以它不起作用。我不知道如何获得okhttp缓存实例。当我尝试

Cache cache = new Cache(this.getCacheDir(), 10000);
cache.urls().next();

MainActivity内我这次得到java.util.NoSuchElementException

Failed to load DynamiteLoader: java.lang.NullPointerException: Attempt to invoke interface method 'android.os.IBinder com.google.android.gms.dynamic.IObjectWrapper.asBinder()' on a null object reference
09-17 11:37:38.868 21171-21171/com.elmxana.elmxana E/AndroidRuntime: FATAL EXCEPTION: main
                                                                     Process: com.elmxana.elmxana, PID: 21171
                                                                     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.elmxana.elmxana/com.elmxana.elmxana.MainActivity}: java.util.NoSuchElementException

您能否帮我找到确切的解决方案,使特定网址的缓存无效?

0 个答案:

没有答案