phonegap for iOS插件例子

1 新建一个基于PhoneGap的工程,如果还没有PhoneGap SDK请去官网下载安装,我目前使用的是PhoneGap1.3.0
2 在Plugins组下新建一个PGPlugin类的子类,命名为MyPGPlugin
MyPGPlugin.h
复制代码
  1. #ifdef PHONEGAP_FRAMEWORK
  2. #import <PhoneGap/PGPlugin.h>
  3. #else
  4. #import "PGPlugin.h"
  5. #endif
  6. @interface MyPGPlugin : PGPlugin {
  7. }
  8. - (void)addStr:(NSMutableArray*)arguments withDict:(NSDictionary*)options;
  9. @end


MyPGPlugin.m
复制代码
  1. #import "MyPGPlugin.h"
  2. @implementation MyPGPlugin
  3. - (void)addStr:(NSMutableArray*)arguments withDict:(NSDictionary*)options
  4. {
  5.     NSLog(@"%@", arguments);
  6.     NSString *callbackId = [arguments pop];
  7.     NSString *result = [NSString stringWithFormat:@"%@%@", [arguments objectAtIndex:0], [arguments objectAtIndex:1]];
  8.     PluginResult *pr = [PluginResult resultWithStatus:PGCommandStatus_OK messageAsString:result];
  9.     [self writeJavascript:[pr toSuccessCallbackString:callbackId]];
  10. }
  11. @end

3 在www文件夹下新建一个js文件,这里我也命名为MyPGPlugin
复制代码
  1. /**
  2. * 构造方法
  3. */
  4. function MyPGPlugin() {
  5. };
  6. /**
  7. * 字符串相加
  8. *
  9. * @param str1, str2
  10. */
  11. MyPGPlugin.prototype.addStr = function(successCallback, failureCallback, str1, str2) {
  12.     PhoneGap.exec(successCallback, failureCallback, "MyPGPlugin", "addStr", [str1, str2]);
  13. };
  14. /**
  15. * 加载MyPlugin对象
  16. */
  17. PhoneGap.addConstructor(function() {
  18.     if(!window.plugins)
  19.     {
  20.     window.plugins = {};
  21.     }
  22.     window.plugins.myPGPlugin = new MyPGPlugin();
  23. });

4 修改PhoneGap.plist,展开Plugins,按”+”号新加一列.添加key MyPGPlugin和value MyPGPlugin
5 使用,在index.html中添加如下代码:
导入js文件
复制代码
  1. <script type="text/javascript" charset="utf-8" src="MyPGPlugin.js"></script>

定义js函数,添加在onDeviceReady函数定义后
复制代码
  1.         function addStr(){
  2.         var str1 = "str1";
  3.         var str2 = "str2";
  4.         window.plugins.myPGPlugin.addStr(successCallback, failureCallback, str1, str2);
  5.     }
  6.     //成功时回调的方法
  7.     function successCallback(data){
  8.         alert("result:"+ data);
  9.     }
  10.     //失败时返回的方法  
  11.     function failureCallback(data){
  12.         alert("error:"+ data);
  13.     }

添加一个button,测试一下
复制代码
  1. <button type="button" οnclick='addStr()'>MyPGPlugin Test</button>

6 编译运行。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值