查看: 164|回复: 1

[讨论] App Inventor插件开发(2)配置与测试

[复制链接]
1.配置工具

需要下载三个必须的工具GitAntJDK8&JRE8
以及一个代码编辑器,如Notepad++Sublime Text 3,本人使用Sublime Text 3

1.PNG

注意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.PNG

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)
5.PNG
[Java] 纯文本查看 复制代码
package [/b][/size][/color][/font][color=#4f4f4f][font="][size=4]NewEx[/size][/font][/color][font=Microsoft YaHei, SF Pro Display, Roboto, Noto, Arial, PingFang SC, sans-serif][color=#4f4f4f][size=5][b];
 
 
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即为编译成功。

6.PNG
7.PNG

8.PNG

编译完成后,在网页端Extension处点击,导入,再拖入面板。

3.PNG

4.PNG



http://appybuilder.com/摄像头预览框插件下载(无法获取结果)
https://community.appybuilder.co ... te-23-07-2018/13048

kylinpoet  初级技匠

发表于 2020-2-18 17:56:12

这个好,必须支持。
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail