Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么跨平台Cordova插件需要2个Javascript文件?_Android_Ios_Cordova_Phonegap Plugins - Fatal编程技术网

Android 为什么跨平台Cordova插件需要2个Javascript文件?

Android 为什么跨平台Cordova插件需要2个Javascript文件?,android,ios,cordova,phonegap-plugins,Android,Ios,Cordova,Phonegap Plugins,在此,我引述: 了解不同的平台 在它给你带来惊喜之前, 让我澄清一些事情。假设您正在开发Phonegap插件 适用于两种平台:iOS和Android。有人可能会认为我们需要这样做 翻出:一个单独的JavaScript文件,将在两个iOS上使用 和安卓;一个Java文件用于Android one.h,一个Java文件用于iOS 然而,在现实中,您需要大量生成:一个Javascript文件 对于Android,以及用于Android的Java文件;不同的Javascript 用于iOS的文件,单独使

在此,我引述:

了解不同的平台 在它给你带来惊喜之前, 让我澄清一些事情。假设您正在开发Phonegap插件 适用于两种平台:iOS和Android。有人可能会认为我们需要这样做 翻出:一个单独的JavaScript文件,将在两个iOS上使用 和安卓;一个Java文件用于Android one.h,一个Java文件用于iOS
然而,在现实中,您需要大量生成:一个Javascript文件 对于Android,以及用于Android的Java文件;不同的Javascript 用于iOS的文件,单独使用一对用于iOS的.h和.m文件。二者都 Javascript文件可以(并且应该)具有与 使用它的开发人员,但每个接口的实现 那就不一样了


如果本机方法的名称都相同,为什么需要2个Javascript文件?我已经创建了一个iOS插件(带有相应的.js文件),现在我正在创建Android端,我不明白为什么我需要一个单独的.js用于Android端。你知道他们为什么没有特别的理由就强调这一点吗?

这取决于你使用的是什么版本的PhoneGap/Apache Cordova。在以前的版本中,iOS和Android的PhoneGap.exec()方法签名不同。从1.7.0开始,可能早在1.5.0,方法签名是相同的。无论在哪个平台上运行,您都应该能够为插件使用相同的.js文件

cordova.exec(success, fail, service, action, args);

我将创建一个问题来清理wiki说明。

这取决于您使用的PhoneGap/Apache Cordova的版本。在以前的版本中,iOS和Android的PhoneGap.exec()方法签名不同。从1.7.0开始,可能早在1.5.0,方法签名是相同的。无论在哪个平台上运行,您都应该能够为插件使用相同的.js文件

cordova.exec(success, fail, service, action, args);

我将创建一个问题来清理wiki说明。

我不知道PhoneGap,但Tianium就是这样。原因是,iOS和Android在某些方面有着根本的不同。事实上,我认为这一差距如此之大,以至于一个文件适合所有人的解决方案是不可能的。我举了一个例子:在iOS中,scrollview可以垂直和水平滚动,但在Android上,你必须选择其中之一。再多的跨平台代码也无法弥补这一点。您所指的是本机代码——这当然是有区别的。调用本机内容的js是PhoneGap.exec(“class”,“methodOnClass”,“args]),而不管本机实现如何。是的,但是如何补偿函数中的差异呢?假设您想要一个兼具这两种功能的滚动视图。你会怎么做?在你的scrollview场景中,你说的是HTML滚动视图还是原生视图?如果你是本地人,我认为你弄错了PhoneGap的功能。所有的UI元素都应该在一个UIWebView中。哦,你说得对,我用了太多的Tianium>不知道PhoneGap,但Tianium就是这样。原因是,iOS和Android在某些方面有着根本的不同。事实上,我认为这一差距如此之大,以至于一个文件适合所有人的解决方案是不可能的。我举了一个例子:在iOS中,scrollview可以垂直和水平滚动,但在Android上,你必须选择其中之一。再多的跨平台代码也无法弥补这一点。您所指的是本机代码——这当然是有区别的。调用本机内容的js是PhoneGap.exec(“class”,“methodOnClass”,“args]),而不管本机实现如何。是的,但是如何补偿函数中的差异呢?假设您想要一个兼具这两种功能的滚动视图。你会怎么做?在你的scrollview场景中,你说的是HTML滚动视图还是原生视图?如果你是本地人,我认为你弄错了PhoneGap的功能。所有UI元素都应该在一个UIWebView中。哦,你说得对,我用了太多的Tianium>谢谢你简洁的回答。谢谢你简洁的回答。