有没有办法在不使用网络服务器的情况下在webview上加载html页面?
在我的Android应用程序中,我有一个Web服务器,因为用户可以保存他想要的网页,以后可以离线访问它们。
我尝试过assets文件夹,但我无法在运行时修改它。我只能阅读我放在那里的文件。
要在线或离线加载我使用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);
网址可以是:
或
http://localhost:8080“; //应用内的网络服务器
或来自资产文件夹
文件:///android_asset/file.html
但是我怎么说,使用可以节省很多页面,并在他想要的时候看到它。
是否有方法在webview上加载保存在内部存储器中的页面?
URL =this.getApplicationContext().getFilesDir()+"/www/file.html";
browser.loadUrl(URL);
例如:webview.loadString(); ?
答案 0 :(得分:2)
类似于browser.loadUrl(Uri.fromFile(f).toString())
的内容应该适用于名为File
的{{1}}对象,指向您想要的文件。 f
将为您提供正确方案的Uri.fromFile()
; Uri
为您提供了传递给toString()
的字符串表示形式。我使用此(或变体)来读取外部存储上的文件。 AFAIK,它也适用于内部存储上的文件。