我在 /data/data/my.package/files/htmlstuff
目录中有一些 CSS
文件和 JS
文件。我还有一堆从网络上获得的 HTML 内容。我想将这些本地 CSS
和 JS
应用到我在 WebView 中加载的每个 html。我怎样才能做到这一点?
如果我的 CSS
和 JS
位于 assets/htmlstuff
目录中,那么我可以使用下面的代码:
webView.loadDataWithBaseURL("file:///android_asset/htmlstuff/", htmlContent, "text/html", "UTF-8", null);
但是当文件存在于 /files/
目录中时,我如何实现相同的目的?
解决这个问题的是下面的一段代码:
final File filesDir = getContext().getFilesDir();
final File htmlStuffDir = new File(filesDir, "htmlStuff");
final String baseUrlPath = htmlStuffDir.getAbsolutePath() + "/";
webView.loadDataWithBaseURL("file:///" + baseUrlPath, htmlContent, "text/html", "UTF-8", null);
末尾的 /
很重要,没有它就无法工作。
我是一名优秀的程序员,十分优秀!