在webView android中加载本地html文件

我必须将现有的html文件加载到位于文件系统中此path的WebView中:

 /data/data/com.example.example/files/file.html 

但是,当WebView加载时,我什么都看不到。 谁能帮我?

WebView代码(假设path是我上面写的path):

  WebView webView = (WebView)findViewById(R.id.webView1); File htmlFile = new File(path); if(htmlFile.exists()) { webView.loadUrl(htmlFile.getAbsolutePath()); } 

Solutions Collecting From Web of "在webView android中加载本地html文件"

试试这个,添加一个file:///并做一点不同的处理:

 WebView webView = (WebView)findViewById(R.id.webView1); webview.loadUrl("file:///data/data/com.example.example/files/file.html"); 

不过,您可以将该文件放入源代码中的assets文件夹中,然后执行以下操作:

 WebView webView = (WebView)findViewById(R.id.webView1); webview.loadUrl("file:///android_asset/file.html"); 

这个html文件应该放在资产文件夹中,这个资源文件夹应该属于你项目的根目录。

所以移动你的文件,以防万一

 assets/index.html 

在Android Studio项目中使用此文件夹:

 /app/src/main/assets/index.html 

现在使用

 WebView wv= (WebView)findViewById(R.id.webView1); wv.loadUrl("file:///android_asset/index.html"); 

您需要实现一个ContentProvider将本地文件映射到uris,如本链接中所述如何将本地文件显示到Android Webview

或者你只需​​从资源文件夹加载任何HTML页面如下所示:

  WebView wv= (WebView)findViewById(R.id.webView1); wv.loadUrl("file:///android_asset/yourfile.html"); wv.getSettings().setJavaScriptEnabled(true);