2016-01-21 127 views
0

有沒有辦法在webview上加載html頁面而不使用web服務器?在webview上加載html頁面而不使用web服務器

在我的android應用程序中,我有一個web服務器,因爲用戶可以保存他想要的網頁,並且以後他可以離線訪問它們。

我試過資產文件夾,但我無法在運行時修改它。我只能讀取我放在那裏的文件。

要加載在線或離線我使用webview的方法: 瀏覽器是webview。

browser.setWebViewClient(new client()); 
    browser.getSettings().setJavaScriptEnabled(true); 
    browser.getSettings().setDomStorageEnabled(true); 
    browser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
    browser.getSettings().setUseWideViewPort(true); 
    browser.loadUrl(url); 

URL可以是:

http://stackoverflow.com一個正常

http://localhost:8080「; //網絡應用

內部或從資產文件夾服務器

files:/// android_asset /file.html

但我如何說,使用可以節省很多頁面,並在他想要的時候看到它。

有沒有一種方法來加載保存在webview內部存儲器中的頁面?

URL =this.getApplicationContext().getFilesDir()+"/www/file.html"; 
     browser.loadUrl(URL); 

例如:webview.loadString(); ?

回答

2

類似browser.loadUrl(Uri.fromFile(f).toString())應該可以工作,對於名爲fFile對象應該指向您想要的文件。 Uri.fromFile()會給你一個Uri正確的方案; toString()爲您提供了交給WebView的字符串表示形式。我用這個(或一個變體)來讀取外部存儲器上的文件。 AFAIK,它應該也適用於內部存儲上的文件。

+0

謝謝。 browser.loadUrl(「file:///」+ url),也有效。 url = this.getApplicationContext()。getFilesDir()+「/ www/file.html」; – debeka

相關問題