javascript - PhoneGap 插件,为什么每个平台(Android、iOS)都有不同的 Javascript 部分?

标签 javascript android ios cordova phonegap-plugins

关于 PhoneGap 插件的编码,PhoneGap wiki 说:

Say you are developing a PhoneGap Plugin for 2 platforms: iOS and Android. One might assume that we need to churn out:

A single JavaScript file that will be used on both iOS and Android One Java file for Android One .h and One .m for iOS

However, in reality you will need to churn out:

One JavaScript file for Android, along with a Java file for Android A different JavaScript file for iOS, alone with pair of .h and .m file for iOS

Both JavaScript files can (and should) have the same interface for the developer who consumes it, but the implementations of each interface would be different.

我的问题是:为什么我需要 2 个 Javascript 文件,每个平台一个? 这是插件的 Javascript 部分的样子:

var FilePlugin = function() {};
FilePlugin.prototype.read = function(data, successCallback, failureCallback) {
return PhoneGap.exec(    
        successCallback,   
        failureCallback,    
        'FilePlugin',  
        'read',              
        [data]);       
};
PhoneGap.addConstructor(function() {
PhoneGap.addPlugin("FilePlugin", new FilePlugin());
});

我在那里看不到任何平台相关的东西,那么为什么 wiki 说我需要每个平台都有自己的 Javascript 文件?

可能我弄错了,所以我需要你的帮助;)

谢谢

最佳答案

我认为 exec API 不同,但他们正在努力使其相同,我已经有一段时间没有进行任何 PhoneGap 开发了。如果您查看有关 iOS 插件开发的各个页面和 Android关于 PhoneGap.exec 它们看起来是一样的。另请注意,您所指的 wiki 上的文本似乎是 nearly on year old .

关于javascript - PhoneGap 插件,为什么每个平台(Android、iOS)都有不同的 Javascript 部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9031826/

相关文章:

java - 将android TCP客户端连接到java TCP服务器时出现异常

android - 多列 ListView 错误 View

ios - Xcode 8 - 找不到框架 -sqlite3

iphone - 获取 UIView 的容器/UIViewController

ios - iPhone 艾比 OCR

javascript - 当名称和值之间有空格字符时如何获取属性数组?

javascript - 如何比较nodejs中的两个数组

javascript - 流畅的ffmpeg没有同步运行

javascript - 不可变状态是 ReactJs 中的功能特性?

android - 如何将数据从 edittext 存储到 android sqlite 数据库?