4374| 2
|
[讨论] App Inventor插件开发(2)配置与测试 |
1.配置工具 需要下载三个必须的工具Git、Ant、JDK8&JRE8。 注意JDK不得高于8,即52。 安装后需配置环境变量。 找到环境变量我的电脑【右击】 --> 选择 属性 --> 高级系统设置 --> 环境变量 Java环境变量配置 新建JAVA_HOME为安装目录(如C:\Program Files (x86)\Java\jdk1.8.0_91) Path末尾添加%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;,win10分行添加 新建CLASSPATH为.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar 检验:cmd输入java -version,输出版本信息即为成功 Ant环境变量配置 添加环境变量ANT_HOME为安装(解压)位置 Path中添加%ANT_HOME%\bin。 CLASSPATH末尾添加%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin; 检验:cmd输入ant,输出如下则为配置成功 2、下载源码cmd进入工作目录,执行git clone https://github.com/mit-cml/appinventor-sources.git,等待下载即可。 如果下载速度不行,可能需要一下备用措施。 2.1zip下载 可以到该项目直接下载zip压缩包,解压到你的工作目录。 2.2国内镜像 国内的代码托管网站码云应该比GitHub快。总共有三个方案: 推荐「作业乃身外之物」于2018.8.5(更2018.10.27)克隆的项目,可以替换掉GitHub的源。https://gitee.com/aiw_prton/appinventor-sources.git 在该站内搜索appinventor-sources的项目,下载别人的克隆。 3.测试 在..\appinventor-sources\appinventor\components\src\下创建Java源文件MyExtension.java,包名NewEX,注意包名与文件夹的对应关系。(src\NewEx) [mw_shl_code=java,true]package NewEx; import com.google.appinventor.components.annotations.*;//注解 import com.google.appinventor.components.common.ComponentCategory;//组件类别 import com.google.appinventor.components.runtime.*; import com.google.appinventor.components.runtime.util.*;//ava的实用工具类库java.util包。在这个包中,Java提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、日历(Calendar)类来产生和获取日期及时间,提供随机数(Random)类产生各种类型的随机数,还提供了堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构。 import com.google.appinventor.components.runtime.errors.YailRuntimeError; @DesignerComponent(version = NewEx.VERSION,//设计器组件 description = "this is a test for extension",//备注,描述 category = ComponentCategory.EXTENSION,//类别:展示在appinventor的哪个模块下;Extension是最后一个模块 nonVisible = true,//不可见 iconName = "images/extension.png")//这个组件的图标 @SimpleObject(external = true)//外部插件 public class NewEx extends AndroidNonvisibleComponent {//Java继承extends public static final int VERSION = 1;//如果一个数据既是static又是final,那么它会拥有一块无法改变的存储空间 private static final String LOG_TAG = "NewEx"; public NewEx(ComponentContainer container) {//记忆技巧:contain 包含,容纳 + er 表物 → 容器 super(container.$form());//调用父类的属性或方法可以通过super关键字。通过super来获取父类的私有属性 } //计算a+b的和然后转换成字符串 @SimpleFunction(description = "add ")//简单方法 public String addab(int a,int b) { return ""+(a+b); } }[/mw_shl_code] 4、编译 在..\appinventor-sources\appinventor\目录下打开cmd,执行ant extensions,显示BUILD SUCCESSFUL即为编译成功。 编译完成后,在网页端Extension处点击,导入,再拖入面板。 http://appybuilder.com/摄像头预览框插件下载(无法获取结果) https://community.appybuilder.co ... te-23-07-2018/13048 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed