Android webview的Html5缓存问题

时间:2012-05-29 13:32:57

标签: html5 webview android-webview html5-appcache android-websettings

您好我试图用我的Android设备缓存我的Web应用程序。我尝试了一切但没有任何工作。缓存不会仅在Android设备上刷新而不在其他设备上刷新!下面是我设置的用于缓存Web应用程序的所有设置。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    web = (WebView) findViewById(R.id.webview);
    web.setWebViewClient(new myWebClient());
    web.getSettings().setJavaScriptEnabled(true);

    web.getSettings().setCacheMode(web.getSettings().LOAD_NORMAL);
    web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    web.getSettings().setUserAgentString(getString(R.string.user_agent_suffix));   


    web.getSettings().setAppCachePath("http://192.168.0.62/lastversion/cache.manifest");
    web.getSettings().setAllowFileAccess(true);
    web.getSettings().setAppCacheEnabled(true);
    web.getSettings().setDomStorageEnabled(true);
    web.loadUrl("http://192.168.0.62/lastversion/");

}

这里我设置了我的缓存:

<html manifest="cache.manifest">

我希望有人可以帮助我。感谢

1 个答案:

答案 0 :(得分:-1)

web.getSettings()。setAppCachePath()set是存储缓存文件的本地目录,而不是从中加载清单的位置。

必须在要缓存的HTML文件中引用清单:

    <html manifest="cache.manifest">

你是什么意思:“缓存不会只在Android设备上刷新,而不能在其他设备上刷新!” 仅当清单的内容发生更改时,才会更新缓存的文件 http://appcachefacts.info/
http://jonathanstark.com/blog/2009/09/27/debugging-html-5-offline-application-cache/
http://dev.opera.com/articles/view/offline-applications-html5-appcache/