App Inventor插件开发(2)配置与测试
1.配置工具需要下载三个必须的工具Git、Ant、JDK8&JRE8。以及一个代码编辑器,如Notepad++和Sublime Text 3,本人使用Sublime Text 3注意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)
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);
}
}
4、编译
在..\appinventor-sources\appinventor\目录下打开cmd,执行ant extensions,显示BUILD SUCCESSFUL即为编译成功。
编译完成后,在网页端Extension处点击,导入,再拖入面板。
http://appybuilder.com/摄像头预览框插件下载(无法获取结果)
https://community.appybuilder.co ... te-23-07-2018/13048
这个好,必须支持。 {:6_215:}
页:
[1]