如何编写自己的android插件

作者&投稿:种许 (若有异议请与网页底部的电邮联系)
怎么将 Android 程序做成插件化的形式~

1、java 里面直接把 .class 文件打包到 .jar 文件里面就可以了,但是 Android 的 Dalvik VM 是不认 Java 的 byte code 的,所以不能直接这么打包,而要用 dx 工具转成 Dalvik byte code 才可以。当然,dx 工具转了之后,jar 包里面就不是 .class 文件了,而是 .dex 文件。 2、可以做成server 利用broadcast,pendingIntent,Intent去通信,再provider数据共享过滤器设置下就能实现这样的效果 3、国内的各大应用市场的安卓客户端就是这么做的,由市场客户端可以下载各个功能客户端,在市场里可以对这些功能客户端进行更新、删除、打开操作。其实如果需求是定制化的应用市场,比如“办公应用市场”,在功能性的规则接口定义好之后,可以增加更多的业务逻辑,比如说“从市场客户端开启功能客户端的具体某个页面”,或者“从市场客户端调用功能客户端的某个功能”。

目前plugin-x中定义了4个协议:ProtocolAds, ProtocolAnalytics, ProtocolIAP, ProtocolSocial。编写自己的插件,不需要写任何的c++/jni代码或者javascript绑定代码。我们已经在plugin-x的核心层实现了这些,开发者所要做的就是:
新建一个android工程。
使用java实现我们定义的接口。
plugin的文件夹结构
请确保你的plugin文件夹结构类似
proj.android : 插件的android工程文件夹.
proj.ios : 插件的ios工具文件夹.
注意:pulish.sh工具的实现会依赖这样的文件夹结构。
实现插件
在Eclipse中导入plugin protocol 的安卓工程
工程的文件夹结构

build.xml : publish.sh脚本使用它,可以从其他插件工程拷贝过来,注意要修改工程名。
ForManifest.xml : gameDevGuide.sh使用它. 如果你的插件在AndroidManifest.xml开启了一些额外的权限,需要把他们添加到这个文件中。
sdk : 把第三方SDK的jar包放在这里。
src : 把你的插件实现代码放在这里。
编写java类实现至少一个接口
这个类应该有一个带有Context参数的构造函数,例如:
package org.cocos2dx.plugin;
public class AnalyticsFlurry implements InterfaceAnalytics {
...
public AnalyticsFlurry(Context context) {
mContext = context;
}
}


你可以覆盖接口中的方法,或者定义自己的方法,例如:
@Override
public String getSDKVersion() {
return "3.2.1";
}

protected void setUserId(String userId) {
LogD("setUserId invoked!");
final String curUser = userId;
PluginWrapper.runOnMainThread(new Runnable() {
@Override
public void run() {
try {
FlurryAgent.setUserId(curUser);
} catch(Exception e){
LogE("Exception in setUserId", e);
}
}
});
}


目前plugin-x只支持传递int, float, boolean, String, JSONObject类型的参数,返回值类型只可以是int, float, boolean, String。

目前plugin-x中定义了4个协议:ProtocolAds, ProtocolAnalytics, ProtocolIAP, ProtocolSocial。编写自己的插件,不需要写任何的c++/jni代码或者javascript绑定代码。我们已经在plugin-x的核心层实现了这些,开发者所要做的就是:

新建一个android工程。

使用java实现我们定义的接口。

plugin的文件夹结构

请确保你的plugin文件夹结构类似下图:

proj.android : 插件的android工程文件夹.

proj.ios : 插件的ios工具文件夹.

注意:pulish.sh工具的实现会依赖这样的文件夹结构。

实现插件

在Eclipse中导入plugin protocol 的安卓工程

工程的文件夹结构类似下图:

build.xml : publish.sh脚本使用它,可以从其他插件工程拷贝过来,注意要修改工程名。

ForManifest.xml : gameDevGuide.sh使用它. 如果你的插件在AndroidManifest.xml开启了一些额外的权限,需要把他们添加到这个文件中。

sdk : 把第三方SDK的jar包放在这里。

src : 把你的插件实现代码放在这里。

编写java类实现至少一个接口

这个类应该有一个带有Context参数的构造函数,例如:

package org.cocos2dx.plugin;
public class AnalyticsFlurry implements InterfaceAnalytics {
       ...
       public AnalyticsFlurry(Context context) {
       mContext = context;
   }
}

你可以覆盖接口中的方法,或者定义自己的方法,例如:

@Override
public String getSDKVersion() {
   return "3.2.1";
}

protected void setUserId(String userId) {
   LogD("setUserId invoked!");
   final String curUser = userId;
   PluginWrapper.runOnMainThread(new Runnable() {
       @Override
       public void run() {
           try {
               FlurryAgent.setUserId(curUser);
           } catch(Exception e){
               LogE("Exception in setUserId", e);
           }
       }
   });
}

目前plugin-x只支持传递int, float, boolean, String, JSONObject类型的参数,返回值类型只可以是int, float, boolean, String。




写给未来自己英语怎么说?
未来的自己是怎样的呢?现在的你有啥话想对未来的自己说呢?快用英语给自己的未来写一封信,下面我整理了写一封给未来自己的信英文版,供您参阅! 给未来自己的一封信英文版 范文 篇一 A Letter To Myself Future me: Hello,I am so glad to write a letter to you. Can you tell me what I am like in...

写以“亲情”为话题的作文,求题目and漂亮开头和结尾!
倾听自己的心跳 一个走完自己漫漫一生的人,一个经历过无数大是大非、大起大落的人,一个可以用白须白发捋起智慧的人——我们称其为老人,记忆是他们守了一生的财富。暮色苍茫时,细数曾经的日子,倾听自己的心跳,应是一种幸福。一个初入茫茫尘世的人,一个未经风雨的人,一个用懵懂的目光看...

额,就是。如何提高语文成绩,基础和阅读的。and如何提高英语和数学的...
数学:主要是连思维。。。趁现在基础还好,多做奥数题吧 英语:阅读方面看这里:我打的(就不再打了)http:\/\/zhidao.baidu.com\/question\/245351805.html 作文主要是要写完整他给的信息点,起码会给基础分,然后字迹公正,如果要凑字数的话不要写缩写,比如:I am 不要写成I 'M 然后单词就是要背...

自己l写的高一英文自我介绍 有何错误?
".I like reading books best"这句以鄙人浅薄的知识认为不要“best”,以及第二段第一句的"too"不要,还有下面的从句“I find that English which I studied in the high school is very different from English which I studied before.“里面的that可以去掉吧,不知道你的“that”是做什么理解...

前端面试自我介绍两篇
当然,大部分还是要倾向于说正面和成绩,要轻描淡写、语气平静,只谈事实,别用自己的主观评论。而且要说的具体,不能只是简单的说“取得优异成绩”、“深受...my name is philip wong, and i am a candidate for the position of overseas sales representative. my background and work experience are tailormade...

AND1和CSBA性质一样么?
AND1是什么?来历是:1993年,芝加哥,一个运动商品展上,三个20几岁的大学生,在NIKE、reebok和adids的业务员间打转。他们的名字是Seth Berger、Tom Austin和Jay Gilbert。他们一点也不快乐,因为他们得到一个结论:美国已经没有够酷的东西了。于是,这三个大学生决定,自己来为[真正在打篮球的人](...

同桌and我,老师and我,求解答。
不用在意啦,真的。做好你自己吧,不用讨好男生,他们和你是一样的,处得来的就相处,不用很刻意。同桌话太多了也不好。老师的话更不用在意,你除了上课还能有多少时间见到她?很多老师对同学都是不够了解的,她们只看到了你们的一面。不要自卑哦,加油。

林海音and季羡林的生平
不久与报社同事夏承楹结婚。1948年8月同丈夫带着三个孩子回到故乡台湾,任《国语日报》编辑。1953主编《联合报》副刊,开始文艺创作,并兼任《文星》杂志编辑和世界新闻学校教员,1967年创办《纯文学杂志》,以后又经营纯文学出版社。林海音的创作是丰厚的。讫今为止,已出版十八本书。散文集《窗》(与何...

艺术APP哪家强之-Artand
Artand对自己的定义是“最专业的当代艺术社交平台”,不过如果稍微用一用APP,我觉得更准确的定位应该是“当代艺术社交电商平台”,因为像艺术这么小众的话题,做社交没量没网络,但是套上电商这个维度,艺术品的高客单价、重复购买的属性就能为平台提供更大的想象空间。所以在Artand这个"社交平台"你是可以...

适合设计师的座右铭
一名职业设计师应该掌握足够的信息量以避免自己的创意雷同他人; 02.不可过分依赖电脑技术,切记,你是一名设计师,不是一名电脑修图员; not to relycompletely on computer technology, it is a tool only and cannot substitute yourcreativity。 remember, you are a designer, not a computer graphic editor; 戒律...

户县13211709455: android studio 怎么写插件 -
哈卓奕丰: 进入设置里面找到 Plugins 选项,Plugins就是指的插件,然后在右边的列表内进行查询.里面的内容就是 Android Studio 所安装的一些列插件,可以对其进行卸载或者去搜索框安装新的插件.如下图所示: 注意:安装完毕后需要对Android Studio进行重启,然后进去查看插件时候安装成功.

户县13211709455: 怎么用eclipse编写android -
哈卓奕丰: 1)首先,下载android SDK.介绍一种非常简单的方法,一并下载eclipse.在百度中输入android SDK,进入搜索界面.选中第一条.2)如果你已经有eclipse,你可以直接在eclipse中进行android SDK插件的安装.方法就是点击上面菜单里的help...

户县13211709455: android 怎么开发android小插件 -
哈卓奕丰: appWidget是可以放在一个view里面的,你只要给这个view设置大小就可以了

户县13211709455: 如何使用Android Studio 开发Gradle插件 -
哈卓奕丰: 插件类型Gradle的插件一般有这么几种:一种是直接在项目中的gradle文件里编写,这种方式的缺点是无法复用插件代码,在其他项目中还得复制一遍代码(或者说说复制一遍文件)另一种是在独立的项目里编写插件,然后发布到中央仓库,之...

户县13211709455: 如何写一个Andorid下自动更新的插件 -
哈卓奕丰: 1、第一步,要先建立一个支持PhoneGap(Cordova)的android工程 因为这个插件本质上是安卓插件,用于PhoneGap,因此,要二者支持才行,所以我们要建立一个支持PhoneGap(Cordova)的android工程,插件在这个工程里面编写. 我们采用...

户县13211709455: 怎样使用Eclipse来开发Android源码 -
哈卓奕丰: 使用Eclipse来开发Android源码步骤:1、Eclipse必须按照ADT插件并下载对应的SDK库文件,按照插件后的Eclipse2、点击“File——》New——》Android Application Project”3、填写基本Project信息(应用名称、项目名称和包名)4、点击下一步,即可完成使用Eclipse来开发Android源码

户县13211709455: 如何使用eclipse开发android -
哈卓奕丰: 1、安装和配置JAVA开发环境;2、安装ADT插件;3、安装Android SDK;4、创建Android模拟器(AVD);5、至此就可以使用eclipse开发Android应用了.

户县13211709455: windows下如何编译自己写的android源码? -
哈卓奕丰: 再电脑上查看android源码,需要搭建android开发环境: 1、jdk下载并安装 2、Eclipse编译器下载安装,并安装ADT插件和android SDK 待编译环境搭建完成,导入android工程源码,就可以顺利打开了!

户县13211709455: android studio怎么编辑 -
哈卓奕丰: 一、下载安装 下载安装包(dmg文件),打开并将Android Studio拖动到Applications中去,拷贝完毕即可,可以到应用程序下将图标拖动到Dock上.二、新建工程 安装完成后,选择默认选项点击OK即可:进入Android Studio,开始界面和...

户县13211709455: android软件用什么来编程实现~~ -
哈卓奕丰: Android操作系统是基于Linux开发的一个移动操作系统,而大家更知道,Linux是C与C++的天下,所以Android的底层是支持C/C++的.综上描述,Android上所采用的编程语言主要有以下的方式:1、基于ADK的Java编程2、基于NDK的C编程 Android应用层的开发,基本上全部是采用Java开发,而个别性能需求的部分,可能会采用NDK的方式.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网