如何将html文件放入Android,关于android:将HTML文件加载到WebView中

我有一个本地html页面以及它要指向的其他几个资源(css文件和Javascript库),我想将它们加载到WebView中。 如何实现呢?

也许这不是进行下一步的最佳方法,但我仍在尝试。

对我来说,如果我将点html -webView.loadUrl(" file:/// android_asset / filename")删除,它将起作用。

您为什么不想接受@Joes答案的任何原因?

webview.loadUrl("文件:///android_asset/sample.html"); - 点击这里

最简单的方法可能是将您的Web资源放入资产文件夹,然后调用:

webView.loadUrl("file:///android_asset/filename.html");

有关Java和Webview之间的完整通信,请参见此

更新:资产文件夹通常是以下文件夹:

/src/main/assets

可以在.iml文件中的资产文件夹配置设置中将其更改为:

请参阅文章将资产文件夹放置在Android Studio中的位置

这个问题确实是一个常见问题。

还有什么其他方式?

如果您非常反对使用资产,则可能还可以将其从字符串中加载。(请参阅stackoverflow.com/questions/4543349/load-local-html-in-webview)

应该将其标记为正确答案,因为确实如此。

如果资产路径发生变化,则将中断。

@ SK9如果缺少任何其他资产或预期文件,同样适用,例如,如果您更改启动活动类的名称并且不更新AndroidManifest.xml来反映这一点。 (个人而言,Id建议将URL /文件路径放在字符串资源中,然后从那里访问它,以使该路径与程序的所有其他字符串数据一起使用,但这实际上与资产/资源依赖关系无关。)

对我来说,如果我将点html -webView.loadUrl(" file:/// android_asset / filename")删除,它将起作用。

对于那些不知道如何创建资产文件夹的用户,请右键单击"应用"->"新建"->"文件夹"->"资产文件夹",然后单击"完成"。 Android Studio将以正确的路径创建资产文件夹。而且您只需要将html文件移动到新的资产文件夹。参考:stackoverflow.com/questions/18302603/

是的,这是可行的,但是显示的是非英文字母错误。

我对ios有同样的问题,有人遇到过这个问题吗?如果是,请分享您的解决方案,我尝试了其他访问方式,但没有用,我尝试了解决方案forum.qt.io/topic/47495/upload-ios-image-with-qt/11

Android Studio似乎不再具有"新建>资产文件夹"选项。更新了答案以包括正确的文件路径。请注意,assets平行于res文件夹结构。

该示例可能有助于:

WebView lWebView = (WebView)findViewById(R.id.webView);

File lFile = new File(Environment.getExternalStorageDirectory() +"/");

lWebView.loadUrl("file:///" + lFile.getAbsolutePath());

在该示例中,外部存储器中有html,最好将其打包在应用程序中

这对.mht文件有效吗?

在这种情况下,使用WebView#loadDataWithBaseUrl()优于WebView#loadUrl()!

webView.loadDataWithBaseURL(url,

data,

"text/html",

"utf-8",

null);

url:url / path指向目录的字符串,所有JavaScript文件和html链接都有其来源。如果为null,则为about:blank。

数据:包含您的hmtl文件的字符串,例如,使用BufferedReader读取

更多信息:WebView.loadDataWithBaseURL(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)

什么是数据变量?请提供一个例子。

接受的答案对我不起作用,这对我有用

WebSettings webSetting = webView.getSettings();

webSetting.setBuiltInZoomControls(true);

webView1.setWebViewClient(new WebViewClient());

webView.loadUrl("file:///android_asset/index.html");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值