2016-01-21 77 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

相关问题