0

我想在本地托管内部存储中的文件。我浏览了谷歌的webview 本地服务器,但你只能托管资产文件夹中的文件。我想从内部存储中托管文件,因为我有能力修改它,这在资产文件夹中无法完成。

如果可能的话,谁能告诉我它背后的逻辑?任何其他建议将不胜感激。

4

2 回答 2

0

您可以使用以下loadUrl(String url)方法WebView

String filePath = context.getFilesDir() + File.separator + "page.html";
webView.loadUrl("file://" + filePath);
于 2016-09-27T11:41:33.063 回答
0

在 android 应用程序中,可以从 APK 内的 Assets 文件夹以外的 2 个位置读取文件。由于这些是普通的 HTML、CSS 和 JS 文件,它们不需要通过本地服务器专门托管,而是可以在 WebView 中正常显示。

  1. 内部存储: URL 采用以下形式file:///folder/file.html
  2. 外部存储:使用 Environment.getExternalStorageDirectory() 方法。String url = "file:///" + Environment.getExternalStorageDirectory().toString() + File.separator + "folder/file.html"

或者,您可以使用Ionic并利用Ionic Deploy服务来更新应用程序的基于 Web 的组件,如此所示。这也可以在本地完成,但是您必须在应用程序中为此编写一个服务,以检查部署服务器上的最新代码库,然后用新文件替换现有文件。

于 2016-09-28T14:57:04.910 回答