您的位置:首页 > 移动开发

AppCan插件开发学习

2015-09-14 11:24 288 查看
1、下载appcan开发工具,http://download.appcan.cn/appcan_sdk/AppCan_IDE_Personal_Setup_V3.2.1_201506041433.exe

2、下载插件开发演示demo,http://pan.baidu.com/s/1pJnCj2r

3、导入demo中的\调试插件的工程中的调试插件工程。

4、新建插件类继承EUExBase类,注意:新建插件类的命名规范为EUEx+名称,如:EUExToast 。若类名不规范会导致调用失败。

5、在新建类中创建自己的插件方法,例如:

public class EUExToast extends EUExBase {

private Context context;
public EUExToast(Context arg0, EBrowserView arg1) {
super(arg0, arg1);
this.context = arg0;
}
public void toast(String[] parm){

Toast.makeText(context, "success" + parm[0], Toast.LENGTH_LONG).show();

}

@Override
protected boolean clean() {
// TODO Auto-generated method stub
return false;
}

}

注意,方法toast中的string[] parm不能去除,不能写成toas()。string[] parm为js调用native时传入的参数。

6、在res/xml/plugin.xml文件中注册接口

<plugin

        className="com.iraid.toast.EUExToast" uexName="uexToast" >

        <method name="toast" />

    </plugin>

注意:uexToast命名规范。

7、若native需要回传数值给js,此时可以使用

jsCallback("uexVakten.vakten_auth", int, EUExCallback.F_C_TEXT, "");

public void toast(String[] parm){
Toast.makeText(context, "success" + parm[0], Toast.LENGTH_LONG).show();

jsCallback("uexVakten.vakten_auth", successCode, EUExCallback.F_C_TEXT, sessionId);
}

8、在js中使用

<!DOCTYPE HTML>

<html>

<head>

   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="viewport"
content="width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/index.css">

<script type="text/javascript">

function callBackAuth(opCode, dataType, data){

//opCode为native调用jsCallback中的successCode参数
alert(opCode);

//data为native调用jsCallback中的sessionId参数
alert(data);
}
window.uexOnload = function(type){

//type 为native调用jsCallback中的successCode参数
if(type == 0){  

uexVakten.vakten_auth = callBackAuth;
}else{
uexVakten.vakten_auth = callBackAuth;
}
}

function toast(toast){
uexVakten.authDevice();
}

</script>

</head>

<body>
<div class="tit">uexDemo对象</div>
<div class="conbor">
<div class="consj">

<input type="button" class="btn" value="Toast" onclick="toast('dddd');">

</div>
</div>

</body>

</html>

9、生成ide导入插件包,插件包包括jar文件夹、dex文件夹、info.xml、plugin.xml、res文件夹(非必须)、AndroidManifest.xml(非必须)、so文件夹(非必须)。

jar文件夹:存放自己插件的native code导出的jar包

dex文件夹:存放经过android dex工具生成自己插件的native code导出的jar包的dex jar包。

      info.xml:记录插件的描述

<?xml version="1.0" encoding="utf-8"?>

<uexplugins>

<plugin uexName="uexToast" version="1.0" build="0">

           <info>toast功能</info>

    </plugin>

</uexplugins>

  plugin.xml:测试工程中的plugin.xml文件

 res文件夹:若使用了资源文件,则将资源文件放入res文件夹中,res文件夹目录与android工程中的res目录相同

so文件夹:若使用了so库,则需要将so库放入so文件夹中

AndroidManifest.xml:只需要放入本插件用的的设置,如权限,组件。

10、将9中的文件/文件夹放入同一个文件夹中,然后压缩成zip文件,上传appcan ide中,在生成安装文件时选择该插件。

更多问题解决方法:http://newdocx.appcan.cn/newdocx/docx?type=1361_1359
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android appcan 插件