原标题:原生安卓和H5混合开发总结
微信、微博和目前市面上大量的软件都嵌入了H5页面; 一些外包公司为了节约成本,在Android中内置H5模式进行开发,在iOS中直接复用页面以提高开发效率。
实现原理:
本质是Java代码和Java调用
仅通过H5页、Html的扩展,Java用于处理页面的逻辑
Android和H5的互调案例
一. java调用js
WebView首选项:
Java调用js的原理是,Java代码调用了js中的函数。
核心Java代码段:
核心js代码段:
二. Java调Java
1 .用初始化的webview代码配置Java界面:
2 .在此Activity中实现Java接口类:
3 .在Java中调用Java代码的核心代码段:
运行流程:
单击js页面上的button时,将运行js的onclick方法() onclick (window.Android.show toast ) ) ) ) ) ) ) ) ) ) )
H5页面调用安卓播放视频
基本的想法与上面的例子(执行流程)相同,在商业逻辑的层面上播放视频主要是从H5页开始点击播放跳转(将视频播放的url传递给Java层),然后安装触发Java播放视频的代码即可。
1. webview上的核心配置:
//设置支持js调用Java webview.addjavainterface (newandroidandjsinterface )、' android ' )。
2 .在此Activity中实现Java接口类:
3 .在Java中调用Java代码的核心代码段:
Java : Android.play video (itemid,videourl,itemtitle );
从H5页面呼叫Android打电话
想法是一样的。 点击H5页,将电话号码传输到java层,调用拨号核心码即可。
在此Activity中实现Java接口类:
@ Java界面
公共语音呼叫(stringphone ) {
intent intent=new intent (intent.action _ call,uri.parse(tel:'phone ) );
activity compat.checkselfpermission (jscalljavacallphoneactivity.this,Manifest.permission.CALL_PHONE )!=package manager.permission _ granted ) {
返回;
}
开始活动(intent;
}
重要内容
1 .如果调用以下方法时出现错误,可以为Java接口类的具体实现方法进行注释: 将@JavaInterface或targetSdkVersion更改为16。 (一般不适用。 )
//设置支持js调用Java webview.addjavainterface (newandroidandjsinterface )、' Android ' )。
2 .请不要忘记将此申请的权限添加到AndroidManifest.xml中。
本文来自CSDN博客,内容更精彩,检查原文。 回到搜狐,查看更多
责任编辑: