Android与H5交互

H5的代码:

<html>

<head>    

<meta charset="UTF-8">   

<title>交互Demo</title><meta content="initial-scale=1.0,user-scalable=no,maximum- scale=1,width=device-width" name="viewport">

</head>
<body>getUserinfo:
<br><input value="立即报名" type="button" onClick="baoming();" />
<br><input value="详细信息" type="button" onClick="baoming1();" />
<br><input value="你好" type="button" onClick="baoming2();" /><br>
<script>
/*var rs=window.om.getUserinfo();
document.getElementById('userinfo').innerHTML=rs;*/
var rs=window.demo.getUserinfo();
var obj = eval ("(" + rs + ")");
if(obj.status){
document.getElementById('userinfo').innerHTML=obj.data.nickname;
}
function baoming(){
if(window.demo.needLogin()){
location.href='http://www.cnblogs.com/greatverve/archive/2012/03/08/android-assets.html';
}
}
function baoming1(){
if(window.demo.getUserinfo()){
location.href='http://www.cnblogs.com/greatverve/archive/2012/03/08/android-assets.html';
}}function baoming2(){
if(window.demo.getData("红红火火")){
location.href='http://www.cnblogs.com/greatverve/archive/2012/03/08/android-assets.html';
}
}
</script></body>
</html>



android  端需要写的代码:

在XML 布局声明一个WebView(这里就不多讲)

如果android要与H5进行交互,我们必须设置可以使用JavaScript(无论是H5调Android还是Android调H5都需设置) 代码如下:
控件名.getSettings().setJavaScriptEnabled(true);

android要H5交互主要分为两种:(Android调H5和H5调用Android)
一、H5调用Android
通过web_main.addJavascriptInterface让H5调用Android的方法,其中的两个参数的意思分别是:    
第一个参数:定义类的实例化   (这个类里面可以创建n个方法,但每个方法上面都必须加上@JavaScriptInterface 因为在Android 4.0后不加这个注解会调不到这个方法)
     第二个参数:自定义名字,让H5来调用安卓的方法
代码如下:web_main.addJavascriptInterface(new PayJavaScriptInterface(), "demo");
在H5中调用安卓的方法是:window.第二个参数(自定义名字).方法名
案例如下:
   window.demo.needLogin()

二、Android调H5

 格式如下:控件名.loadUrl("javascript:方法名")
    代码如下:web_main.loadUrl("javascript:getData()");
    声明:Android 调用H5 必须在主线程中调用,
  方法1:
  使用Handler代码如下:
    //主线程
    Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what){
                case 1:
                    web_main.loadUrl("javascript:baoming3()"); //aa是js的函数test()的参数
                    break;            }
        }
    };
//发送消息到主线程的方法
           Message msg = handler.obtainMessage();
            msg.what = 1;
            handler.sendMessage(msg);
   方法2:控件名.post(实例化线程)
           web_main.post(new Runnable() {
                @Override
                public void run() {
                    web_main.loadUrl("javascript:baoming3()"); //aa是js的函数test()的参数
                }
            });






对了,当然我们还需要在清单文件中加请求权限:android.permission.INTERNET

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值