将html文件从本地文件夹加载到webview中

我是Android开发的新手。

我想将一个html文件加载到webview中

请注意,SO上有这么多相关问题,但它们都涉及从assets文件夹中获取** .html *。

但我想从本地文件夹加载html文件,说“D://abc.html”,因为如果我的html大约是10Mb,那么相应的apk大小也会达到10mb。

任何帮助赞赏。

编辑

我试过webView.loadUrl("file:///D:/Projects/myWebsite/index.html");

但它提供的Web page not available并且File not found error

Related of "将html文件从本地文件夹加载到webview中"

您可以使用:

 WebView webView = // ... webView.loadUrl("file:///myPath/myFile.html"); 

在Android应用程序中,可以从3种types的位置读取文件:

  • 内部存储:每个应用程序都有自己的文件名,相对于此位置。 URL采用表单file:///myFolder/myFile.html

  • 外部存储:需要许可,可能并不总是可用。 通过调用Environment.getExternalStorageDirectory()获取根文件夹。 因此,使用以下命令构造URL: String url = "file:///" + Environment.getExternalStorageDirectory().toString() + File.separator + "myFolder/myFile.html"

  • 资产 :存储在apk中。 只读访问权限。 URL采用表单file:///android_asset/myFolder/myFile.html (另请参阅将Android资源加载到WebView中 )

在Android 4.4 KitKat中,抛出“不允许加载本地资源:file:/// ..”。 当loadURL和我发现的唯一替代方案是“loadDataWithBaseURL”时出现。

 webView.loadDataWithBaseURL("file:///android_asset/demo/", tmpDocumentText,"text/html", "UTF-8", null); 

WebView具有loadData方法http://developer.android.com/reference/android/webkit/WebView.html

您需要做的就是将文件读入String,然后使用loadData将其提供给WebView。