将网站保存到缓存中并以脱机模式加载(Android)

时间:2014-08-13 15:53:16

标签: java android caching

我试图在我的问题上找到答案,但我在已经打开的问题中找不到任何结果。 我想在我的Android应用程序中加载一个网站并将其保存到缓存中。 当用户没有Internet连接时,应该从缓存加载。 我的应用中的权限是:         android.permission.INTERNET对         android.permission.WRITE_EXTERNAL_STORAGE         android.permission.ACCESS_NETWORK_STATE         android.permisson.ACCESS_WIFI_STATE 活动的代码

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webview = (WebView) findViewById(R.id.webview);
    webview.getSettings().setAppCacheMaxSize( 5 * 1024 * 1024 ); // 5MB
    webview.getSettings().setAllowFileAccess( true );
    webview.getSettings().setAppCachePath( "/KP");
    webview.getSettings().setAppCacheEnabled( true );

    try{
    if(isNetworkAvailable())
    {
        webview.clearCache(true);
        webview.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
    }
    else{
        webview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ONLY);
    }
    }
    catch(Exception e){
        AlertDialog.Builder dlgAlert  = new AlertDialog.Builder(this);

        dlgAlert.setMessage("");
        dlgAlert.setTitle("Error");
        dlgAlert.setCancelable(true);
        dlgAlert.create().show();
    }

    String url="https://google.com";
    webview.setWebViewClient(new WebViewClient());
    webview.getSettings().setLoadsImagesAutomatically(true);
    webview.loadUrl(url);   
 }

这不起作用,我无法找到有关如何保存缓存并将其加载到离线模式的更多信息。

0 个答案:

没有答案