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

新手上路,请多包涵

我是 Android 开发的新手。

我想将 html 文件 加载到 webview 中。

请注意,像 这样 的 SO 上有很多相关问题,但它们都涉及从 资产 文件夹中获取 **.html*。

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

任何帮助表示赞赏。

编辑

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

但它给出了 Web page not availableFile not found error

原文由 GAMA 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 486
2 个回答

您可以使用:


   WebView webView = // ...

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

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

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

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

  • Assets :存放在apk中。只读访问。 URL 采用形式 file:///android_asset/myFolder/myFile.html (另请参见 将 Android 资源加载到 WebView 中

原文由 Tony the Pony 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

原文由 Toni Gamez 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题