android中的webview 加载html,并可以实现java调用js

[img]http://dl2.iteye.com/upload/attachment/0077/8543/d0b945ac-0f9c-3867-8400-d46829ec4b61.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0077/8545/5a5929f0-c5ae-37fd-87e7-0fc3e05fca18.png[/img]
记得上一个项目中在类似网易新闻的详细布局。如下:

最后因为服务器返回的数据已经存在标签,客户的需求也没有要求做成类网易的详细界面,接下来的这个项目客户给的要求已经体现了,所以又仔细了研究了下关于在手机客户端
上显示文字与图片的布局。大家可以直接反编译下网易,百度,搜狐之类的客户端,它们都是用webview控件来展现新闻界面的~
至于如何实现java 和 js 的交互,网络上也有许多,但是一直没有找到很完全的,最多是一个简单的按钮弹出!
下面我将把实现代码放上!
可以分如下几步:
1.准备好所需求的××.html。我们一般这样创建;在assets中创建自己的一个文件夹(如:www)。其中可以创建自己的html 及css,js文件夹。
2.在android 中要有webView控件。当然别忘了主配置文件中要加上<uses-permission android:name="android.permission.INTERNET" />
3.
//这个是让webview 可以实现js
wvDetailBody.getSettings().setJavaScriptEnabled(true);
//这里是要创建一个对象来对js进行操作(MyContent)
webview.addJavascriptInterface(myJavaScriptInterface
, "MyContent");
4.创建myJavaScriptInterface类及想要实现的调用方法


注意一下几点:
1.传入到js中的数据不可以带标签(自己测试的),如果带会报 EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up.
2.最好在更新webview 放在ui 线程中!
3.还有是在开发中,webview 默认是白色背景很难看,改变它会在不同系统中不一样,但是有一种是可以完成,即:在需要的activity中标记android:hardwareAccelerated="false" 。并在代码中
webview.setBackgroundColor(0);// set transparent即可。
最后代码附上!
希望对你有帮助!
最后的效果图:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值