2013-02-17 80 views
10

我想在Android中預加載網頁。該網頁包含文字和圖形元素。該網頁將在未來尚未創建的活動中顯示。在Android中預加載網頁(使用WebView?)

據我所知,一個WebView例如必須綁定到一個Activity,因此不可能使用WebView來完成這個任務。

任何人都有任何建議,不涉及解析HTML頁面和下載所有元素「手動」?

回答

13

根據android的文檔:出於明顯的安全原因,您的應用程序有其自己的緩存,cookie存儲等 - 它不共享瀏覽器應用程序的數據。

因此,我們可以這樣來使用上述信息的一個巧妙的方法:

  • 每當你想開始加載您的網站,創建一個新的WebView對象,並從中請求中的URL。代碼會是這個樣子:

    WebView view = new WebView(context); 
    view.loadUrl(myBigWebSite); 
    
  • 的Android則會緩存的WebView數據,當你從另一個活動要求使用loadURL應該已經加載。

    // in your WebView activity 
    myWebView.loadUrl(myBigWebSite); 
    

欲瞭解更多有關網頁視圖訪問單證頁:WebView doc

+1

它甚至本地的html文件是真的嗎? – 2017-03-16 17:52:50

2

您可以下載所有必需的文件(圖像等)到某個文件夾上的網線,然後使用類似

webview.loadUrl("file:///my_cached_folder/index.html"); 

的圖像也會被從該文件夾採摘,如果引用和現在。閱讀關於在webview here上打開本地文件的信息。