天天看点

HTML中的javascript交互

在android开发中,越来越多的商业项目使用了android原生控件与webview进行混合开发,当然不仅仅就是显示一个webview那么简单,有时候还需要本地java代码与html中的javascript进行交互,android也对交互做了很好的封装,所以很容易实现例如:点击网页中的按钮android调用原生对话框,点击网页中的电话号码调用android拨号app。这篇给大家介绍下如何实现android与html+js的交互。

有的人可能不理解什么是javascript,可以简单理解为它在html中的作用就相当于你在java中写的函数(方法)差不多。

本篇主要实现的功能点:

android 调用html中的javascript脚本

html中的javascript脚本调用android本地代码

android 调用html中的javascript脚本并传递参数

html中的javascript脚本调用android本地代码并传递参数

实现android调用js脚本是非常简单的,直接webview调用loadurl方法,里面是js的方法名,并可以传入参数,javascript:xxx()方法名需要和js方法名相同

html代码 

HTML中的javascript交互

实现js调用android方法,需要在java代码中添加下面这句,webview绑定javascriptinterface,js脚本通过这个接口来调用java代码, 第一个参数是自定义类对象,映射成js对象,这里我直接传this,第二个参数是别名,js脚本通过这个别名来调用java的方法,这个别名跟html代码中也是对应的。

HTML中的javascript交互

先看一下效果图,上面是2个原生button view 下面是一个webview

HTML中的javascript交互

下面是具体的实现步骤:

先建立一个html文件,很简单,里面主要有两个按钮,两个js方法

需要把这个html文件放到assets文件夹中 注意文件夹位置

HTML中的javascript交互

添加权限

布局文件

activity 的java类

ok 这样一个简单的android与html+js的交互就完成了,有什么问题也可以在下方留言。

原文链接:http://blog.csdn.net/leejizhou/article/details/50894531