我有WebView
,並且希望將某些網頁保存到內部或外部存儲以便離線訪問。請提供一些例子,如果有人已經通過這個。如何保存完整的網頁並稍後加載以供離線訪問
2
A
回答
1
嘗試下面的代碼實現您的任務,並檢查this鏈接: -
WebView webView = new WebView(context);
webView.getSettings().setAppCacheMaxSize(5 * 1024 * 1024); // 5MB
webView.getSettings().setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath());
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAppCacheEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); // load online by default
if (!isNetworkAvailable()) { // loading offline
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
}
webView.loadUrl("http://www.google.com");
許可需要
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
0
如果你有機會到服務器端,最好的想法會應該使用HTML5緩存清單,正如我在這裏描述的那樣:https://stackoverflow.com/a/14348234/737885
如果你不喜歡您可以嘗試簡單地將其緩存爲HCD建議的內容,但該解決方案取決於HTTP標頭和其他考慮事項,因此它可能不是防彈的。
另一種解決方案是通過WebViewClient回調(參見http://developer.android.com/reference/android/webkit/WebViewClient.html)將WebView指向組成該站點的URL,並使用HttpClient手動下載每個資源。這是三者中唯一的解決方案,它創建了可重複使用的網站副本。另一個基於WebView緩存,因此您只能在同一個WebView中使用緩存副本。
相關問題
- 1. 將網頁離線保存以便在iOS上稍後閱讀
- 2. 如何使用PhoneGap保存網頁以供離線使用?
- 3. 使用HTTrack下載完整的網站以供離線使用問題
- 4. 如何保存完整的網頁
- 5. 下載並保存文件以供離線使用
- 6. 如何下載單個網頁以供離線查看?
- 7. 如何保存幀分離器位置並在稍後恢復?
- 8. 在Android上保存文本文件的位置以供用戶稍後訪問
- 9. 下載完整的網頁進行離線觀看
- 10. 將ARKit場景保存到後端並稍後加載?
- 11. 保存離線包含javascript的網頁
- 12. 如何保留呈現的頁面供以後使用(稍後重新發送)
- 13. 如何登錄並保存cookie以便以後使用網頁
- 14. 下載的UIImage如果需要的話,並保存供以後
- 15. 保存/加載完整的表格
- 16. 如何保存地圖以供離線查看
- 17. 如何離線訪問android.developer網站?
- 18. 如何保存當前光標位置並稍後在Vimscript中加載?
- 19. 下載完整的網頁
- 20. 如何從遠程保存程序下載json文件並保存爲離線訪問包
- 21. sapui5:最初加載NDA頁面並稍後加載Shell
- 22. 字段分配存儲以供稍後完成
- 23. 如何將網頁保存爲Qt WebKit作爲「另存爲完整網頁」
- 24. 如何在UIWebView中緩存內容以便稍後加載?
- 25. 如何在Android中保存完整的網頁或HTML文件?
- 26. C++ cURL - 如何將完整的網頁保存到文件?
- 27. 如何保存Android WebView中顯示的完整網頁?
- 28. 保存並加載完整的MATLAB工作環境
- 29. 如何訪問最初加載頁面時啓動的線程,稍後在c#mvc中調用ajax方法?
- 30. 保存我目前的確切網頁供以後使用
嘿..你是怎麼解決這個問題的..我必須實現類似這樣的東西,你的建議會很棒。 – 2013-10-11 13:05:43
非常感謝這個人https://github.com/gregko/WebArchiveReader爲他的庫,它幫助我加載'WebArchive'保存爲'xml' – Antarix 2013-10-12 06:07:29