JS调用Android、Ios原生控件


Posted in Javascript onJanuary 06, 2017

在上一篇博客(详解JS与APP原生控件交互)中已经和大家聊了,关于JS与Android、Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android、Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时,提高代码质量,实现两者在网页端代码的统一。

首先我们先看一下Ios调用JS的方法实现:

//无参调用
function SwiftCallJs1(){}
//有参调用
function SwiftCallJs2(name, message){}

紧接着我们看一下Android调用JS的方法实现:

//无参调用
function AndroidCallJs1(){}
//有参调用
function AndroidCallJs2(data){}

从上面的代码中你是否发现,Android与Ios调用JS时,JS处理函数两者在无参调用时是相通的。有参调用不同点是Ios是一对一直接传递,Android则是字符串传递,当然我们可以通过在Android和Ios端统一传参使用JSON格式,JS支持JSON解析,从而实现两个平台在有参方法调用上的统一。

看完上面的Ios与Android调用JS,下面我们看一下JS调用Android与Ios原生通信的异同点。

首先我们看一下JS调用Android的方法实现:

//无参调用
function callNull(){
 android.CallNull(); 
}
//有参调用
function callMessage(){
 android.CallMessage("msg");
}
//有参调用--json
function callJson(){
 var json = "[{\"name\":\"满艺网\",\"url\":\"www.manyiaby.com\"}]";
 android.CallJson(json);
}

接下来我们看一下JS调用Ios的方法实现:

//一:无前缀调用
//无参调用
function test1(){
 Test1();
}
//有参调用
function test2(){
 Test2("满艺网","www.manyiaby.com");
}
//二:有前缀调用
//无参调用--带返回操作结果处理
function callSystem(){
 Ios.CallSystem();
}
//操作结果处理函数
function JSCallNullIosResult(){}
//有参调用
function callWithMsg(){
 Ios.CallWithMsg("满艺网","www.manyiaby.com");
}
//有参调用--json
function callWithJson(){
 var json = "{\"name\":\"满艺网\",\"url\":\"www.manyiaby.com\"}";
 Ios.CallWithJson(json);
}
//有参调用--带返回结果处理
function callWithJsonResult(){
 var json = "{\"name\":\"满艺网\",\"url\":\"www.manyiaby.com\"}";
 Ios.CallWithJsonResult(json);
}
function JSCallJsonIosResult(data){
 alert("name:"+data["name"]); 
}

看到这里你一定发现了不同点,1、Android没有不带前缀的方法调用,2、Android没有方法调用后的操作结果返回处理逻辑。对于第一点,就目前我所认识到的是原生没有通过具体的实现逻辑,不过这个点不影响我们的开发,因为Ios是支持前缀方法调用的。对于第二点,我的理解是对于返回处理函数,我们可以在开发的添加上去,从而提高Ios用户的使用体验,并且处理函数不会影响到方法的调用。

好了到这里就和大家聊完了,当然如果所述与您的理解有偏差,还望指点一二。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
推荐40款强大的 jQuery 导航插件和教程(上篇)
Sep 14 Javascript
jquery和javascript的区别(常用方法比较)
Jul 04 Javascript
js利用数组length属性清空和截短数组的小例子
Jan 15 Javascript
js面向对象编程之如何实现方法重载
Jul 02 Javascript
jQuery的bind()方法使用详解
Jul 15 Javascript
JQuery PHP图片在线裁剪实例
Jul 27 Javascript
完美实现js选项卡切换效果(二)
Mar 08 Javascript
JS动态修改网页body的背景色实例代码
Oct 07 Javascript
angularjs 缓存的使用详解
Mar 19 Javascript
JavaScript类的继承方法小结【组合继承分析】
Jul 11 Javascript
聊聊Vue中provide/inject的应用详解
Nov 10 Javascript
js实现无刷新监听URL的变化示例代码详解
Jun 03 Javascript
JS正则匹配中文的方法示例
Jan 06 #Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
Jan 06 #Javascript
JS获取多维数组中相同键的值实现方法示例
Jan 06 #Javascript
JavaScript用JSONP跨域请求数据实例详解
Jan 06 #Javascript
js实现前端分页页码管理
Jan 06 #Javascript
纯js实现倒计时功能
Jan 06 #Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
Jan 06 #Javascript
You might like
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
vue实现微信分享功能
2018/11/28 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
Vue实现简易计算器
2020/02/25 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
Python使用gensim计算文档相似性
2016/04/10 Python
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Python爬虫实现(伪)球迷速成
2018/06/10 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
Python 获取 datax 执行结果保存到数据库的方法
2019/07/11 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
在Python中用GDAL实现矢量对栅格的切割实例
2020/03/11 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
中国首家奢侈品O2O网购平台:第五大道奢侈品网
2017/12/14 全球购物
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
某公司的.net工程师面试题笔试题
2013/11/22 面试题
2014年图书馆个人工作总结
2014/12/18 职场文书
学校运动会加油词
2015/07/18 职场文书
学习经验交流会总结
2015/11/02 职场文书
初中语文教师研修日志
2015/11/13 职场文书