我正在尝试使用 WebView 在 Android 中显示我的博客文章。

当用户离线时,我可以将 HTML 文本保存在 sqlite DateBase 中以备下次使用,但问题是当用户在线时将图像保存在目录中。
下次访问时,如果在指定目录中找到图像,请使用它! ,否则下载并缓存以备将来使用!

最佳答案

尝试启用 WebView 应用缓存:

// Set cache size to 8 mb by default. should be more than enough
mWebView.getSettings().setAppCacheMaxSize(1024*1024*8);
mWebView.getSettings().setAppCachePath("/data/data/"+ getPackageName() +"/cache");
mWebView.getSettings().setAppCacheEnabled(true);

cm = (ConnectivityManager) this.getSystemService(Activity.CONNECTIVITY_SERVICE);
if (cm != null && cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected()) {
    webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
} else {
    webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
}

您需要添加 .ACCESS_NETWORK_STATE.ACCESS_WIFI_STATE 权限。

Here 您可以找到有关所有 WebSettings 的更多信息。

关于Android WebView 将路径中的图像下载为缓存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29269999/

10-12 02:44