我正在使用Android Studio/Gradle。
app\src\main\android_asset文件夹中有一个名为chart的文件。联系我们
我尝试将此文件加载到我的webview中,如下所示:
WebView view = new WebView(this);
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl("file:///android_asset/chart.html");
setContentView(view);
但我总是犯错误:无法加载,因为ERR_FILE_NOT_FOUND。
我错过了什么?
4条答案
按热度按时间6tdlim6h1#
目录名应该是assets而不是android_assets
这样做:
如上面的图片所示,只需右键单击您的应用程序-〉新建-〉文件夹-〉资产文件夹
现在把你的**。html文件,位于assets**文件夹中。
就这样。搞定。
剩下的代码与您所做的相同。
eulz3vhy2#
类似问题:
我使用许多具有不同applicationId的productFlavors。
如果我试图从res/raw/file加载一个html文件。html我得到一个ClassNotFoundException没有找到class“产品。flavor.package.R$raw”
www.example. com 文件具有不同的包名称。
它看起来就像你不能从文件加载URL一样:webView.loadUrl(“file:///android_res/raw/page.html”);因为WebView尝试使用R.的类文件具有不同的包名。
我假设从资产加载html文件的ERR_FILE_NOT_FOUND也有同样的问题,但您看不到异常。(webView.loadUrl(“file:///android_assets/page.”);)
有了这个小工作,我解决了我的问题:
希望这能帮上忙。斯蒂芬
dgjrabp23#
从Gugelhupf应答,但使用原始资源。
此解决方案的优势:你继续翻译!
hc2pp10m4#
从SDK 30开始,您还需要调用
setAllowFileAccess(true)
: