起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2828|回复: 7

[处理中] Cordova插件用起步开发工具可以直接开发吗

[复制链接]

29

主题

84

帖子

127

积分

初级会员

Rank: 2

积分
127
QQ
发表于 2015-9-7 14:21:36 | 显示全部楼层 |阅读模式
Cordova插件用起步开发工具可以直接开发吗,开发的方法是按照 http://doc.wex5.com/?p=2815 、所提到的布局在 Native 里的plugins 里按照
如下形式写出来就行吗
当前目录下(当然可以放在别的目录下)创建 ExtraInfo 文件夹,先看下具体的目录结构:
<?xml version="1.0" encoding="utf-8"?>
<plugin id="cn.net.wenzhixin.cordova" version="0.0.1"
        xmlns="http://apache.org/cordova/ns/plugins/1.0"
        xmlns:android="http://schemas.android.com/apk/res/android">
    <name>ExtraInfo</name>
    <description>Description</description>
    <js-module name="ExtraInfo" src="www/ExtraInfo.js">
        <clobbers target="cordova.plugins.ExtraInfo"/>
    </js-module>
    <platform name="android">
        <config-file parent="/*" target="res/xml/config.xml">
            <feature name="ExtraInfo">
                <param name="android-package" value="cn.net.wenzhixin.cordova.ExtraInfo"/>
            </feature>
        </config-file>
        <source-file src="src/android/ExtraInfo.java" target-dir="src/cn/net/wenzhixin/cordova"/>
    </platform>
</plugin>
有几个关键的字段需要解释下:

id: 插件的标识,即发布到 plugins.cordova.io 的 ID
name:插件的名称
description:描述信息
js-module:对应我们的 javascript 文件,src 属性指向 www/ExtraInfo.js
platform:支持的平台,这里仅仅用到了 android
这里是插件的配置信息,最后会添加到 res/xml/config.xml 文件中,并且将我们的 src/android/ExtraInfo.java,复制到 android 的 package 包中。 接下来,ExtraInfo.js 的内容很简单:

1
2
3
4
5
var exec = require('cordova/exec');

exports.getExtra = function(success, error) {
    exec(success, error, "ExtraInfo", "getExtra", []);
};
用过 Nodejs 或者了解过 AMD、CMD 的话(当然,没了解过也没关系),一定会觉得很熟悉。简单的说,require 用于引入我们的类,exports 用于导出我们的方法。这里对外公开了 getExtra 方法,以便我们在 app 中可以用到。
最后看 ExtraInfo.java 的内容:
public class ExtraInfo extends CordovaPlugin {
  
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext)
            throws JSONException {
        Activity activity = this.cordova.getActivity();
        if (action.equals("getExtra")) {
            Intent i = activity.getIntent();
            if (i.hasExtra(Intent.EXTRA_TEXT)) {
                callbackContext.success(i.getStringExtra(Intent.EXTRA_TEXT));
            } else {
                callbackContext.error("");
            }
            return true;
        }
        return false;
    }
}
继承了 CordovaPlugin 类,并重写 execute 方法,使用 action 来判断我们在 javascript 中调用的方法名,成功的话调用callbackContext.success(message),失败调用 callbackContext.error(message) 方法,分别对应 javascript 文件中的success 和 error 回调函数。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2015-9-7 15:45:36 | 显示全部楼层
可以在studio的开发工具中直接开发,studio就是Eclipse IDE开发工具

http://wenzhixin.net.cn/2014/03/20/cordova_my_plugin

http://blog.csdn.net/xq328220454/article/details/37690535
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

29

主题

84

帖子

127

积分

初级会员

Rank: 2

积分
127
QQ
 楼主| 发表于 2015-9-7 15:59:29 | 显示全部楼层
Cordova LIB 库哪里有啊
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2015-9-7 16:12:23 | 显示全部楼层
在Native下创建app用源码模式,在/Native/XXX/platforms/android下就有
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

29

主题

84

帖子

127

积分

初级会员

Rank: 2

积分
127
QQ
 楼主| 发表于 2015-9-7 17:02:01 | 显示全部楼层
如果插件开发完了 怎么样在起步里引用啊
回复 支持 反对

使用道具 举报

29

主题

84

帖子

127

积分

初级会员

Rank: 2

积分
127
QQ
 楼主| 发表于 2015-9-7 17:03:21 | 显示全部楼层
开发后的需要编译吗,如何编译
回复 支持 反对

使用道具 举报

29

主题

84

帖子

127

积分

初级会员

Rank: 2

积分
127
QQ
 楼主| 发表于 2015-9-7 17:29:48 | 显示全部楼层
开发完是不是把源码包,还有www下 plugins 里做的文件包直接拷贝 到native 的plugis里
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2015-9-7 17:46:34 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-20 05:36 , Processed in 0.073531 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表