找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: colintree

从零开始写AIX(appinventor的Extension拓展组件)

[复制链接]

5

主题

61

帖子

240

积分

版主

Rank: 7Rank: 7Rank: 7

积分
240
 楼主| 发表于 2016-9-13 00:36:51 | 显示全部楼层
本帖最后由 colintree 于 2016-9-13 08:58 编辑

非常不好意思啊,这几天一直再忙,然后抽空写了,这么一篇,大家不要怪我好吗

2.4        详解\components\src\com\google\appinventor\components\annotations文件夹里的各种包
首先说明一下,这个文件夹你们一定是知道的,只是不一定会意识到自己认识,先放图:
在样例java文件里,有这么一段文字:
没错,在我提供的样例中,引用了这个包(文件夹)下面的几个类(文件)
在java中,如果一个文件中要使用另一个文件(类)的接口,内容,就需要导入(import)相应的类
于是本次将讲解各个文件的用途
1.    DesignerComponent.java
定义组件,定义会显示在设计页面左侧的组件目录里。
比如对整个组件的解释:

显示为

2.    DesignerProperty.java
组件参数属性
包含两个参数:
editorType参数类型,defaultValue参数默认值
其中editorType可选参数如下
1.     PROPERTY_TYPE_ASSET(选择已经上传的文件,比如应用图标)
2.     PROPERTY_TYPE_BLUETOOTHCLIENT(解释称用于蓝牙客户端组件,然而没找到)
3.     PROPERTY_TYPE_BOOLEAN(布尔值,就是设计器里是否打勾的选项,比如文本是否加粗)
4.     PROPERTY_TYPE_HORIZONTAL_ALIGNMENT(解释称为横向布局使用,然而未找到样例)
5.     PROPERTY_TYPE_VERTICAL_ALIGNMENT(解释称为竖向布局使用,然而未找到样例)
6.     PROPERTY_TYPE_ACCELEROMETER_SENSITIVITY(敏感度,仅用于加速度传感器)
7.     PROPERTY_TYPE_BUTTON_SHAPE(按钮形状,仅用于按钮)
8.     PROPERTY_TYPE_COLOR(颜色)
9.     PROPERTY_TYPE_COMPONENT(就是一个组件,没找到实例)
10.  PROPERTY_TYPE_FLOAT(小数)
11.  PROPERTY_TYPE_INTEGER(整数)
12.  PROPERTY_TYPE_LEGO_NXT_SENSOR_PORT(用于乐高NXT,未研究)
13.  PROPERTY_TYPE_LEGO_NXT_GENERATED_COLOR(用于乐高NXT,未研究)
14.  PROPERTY_TYPE_LEGO_EV3_SENSOR_PORT(用于乐高EV3,未研究)
15.  PROPERTY_TYPE_LEGO_EV3_SOUND_SENSOR_MODE(用于乐高EV3,未研究)
16.  PROPERTY_TYPE_LEGO_EV3_COLOR_SENSOR_MODE(用于乐高EV3,未研究)
17.  PROPERTY_TYPE_LEGO_EV3_ULTRASONIC_SENSOR_MODE(用于乐高EV3,未研究)
18.  PROPERTY_TYPE_LEGO_EV3_GYRO_SENSOR_MODE(用于乐高EV3,未研究)
19.  PROPERTY_TYPE_LEGO_EV3_GENERATED_COLOR(用于乐高EV3,未研究)
20.  PROPERTY_TYPE_NON_NEGATIVE_FLOAT(非负小数)
21.  PROPERTY_TYPE_NON_NEGATIVE_INTEGER(非负整数)
22.  PROPERTY_TYPE_SCREEN_ORIENTATION(屏幕方向)
23.  PROPERTY_TYPE_SCREEN_ANIMATION(开关屏动画)
24.  PROPERTY_TYPE_SENSOR_DIST_INTERVAL(间距,仅用于位置传感器)
25.  PROPERTY_TYPE_SENSOR_TIME_INTERVAL(时间间隔,仅用于位置传感器)
26.  PROPERTY_TYPE_STRING(普通文本)
27.  PROPERTY_TYPE_TEXT(注释称用法与PROPERTY_TYPE_STRING一致,但更推荐STRING,在所有官方的类中,都是用STRING的)
28.  PROPERTY_TYPE_TEXTAREA(一段文字,仅出现于Screen1的应用说明)
29.  PROPERTY_TYPE_TEXTALIGNMENT(定义文本显示的时候是靠左居中还是靠右,拓展不能做可视化,用不上)
30.  PROPERTY_TYPE_TOAST_LENGTH(显示时长,仅用于对话框组件)
31.  PROPERTY_TYPE_TYPEFACE(部分组件的属性设置·文字样式)
32.  PROPERTY_TYPE_VISIBILITY(是否可见,拓展不能做可视化,用不上)
33.  PROPERTY_TYPE_TEXT_RECEIVING(设置是前台接收,后台接收还是一直接收,仅用于短信收发器)
34.  PROPERTY_TYPE_TEXT_TO_SPEECH_COUNTRIES(仅用于文字转语音的国家设置)
35.  PROPERTY_TYPE_TEXT_TO_SPEECH_LANGUAGES(仅用于文字转语音的语言设置)
36.  PROPERTY_TYPE_SIZING(仅用于Screen1的Sizing)
37.  PROPERTY_TYPE_FIREBASE_URL(仅用于FireBase)
38.  PROPERTY_TYPE_SCALING(仅见于图像组件,好像已经停用)
样例:

显示为:

3.    Package-info.java
这个不是拿来调用的,是对包的声明
4.    PropertyCategory.java
属性类别,与SimpleProperty搭配使用。
总共有四个内容:
1.     Behavior行为
2.     Appearance外观
3.     Deprecated不赞成,反对(啥玩意啊)
4.     Unspecified未声明的
具体用法过两天更新上来
5.    SimpleBroadcastReceiver.java
不知道是啥,没找到样例
6.    SimpleEvent.java
支持触发事件,比如:当屏幕初始化
7.    SimpleFunction.java
最基础的事件
8.    SimpleObject.java
定义文件(类)的内容,包括所有参数,方法和事件
9.    SimpleProperty.java
定义一个行为的属性
比如方法的解释:

显示为:

10.SimplePropertyCopier.java
行为的属性……的复制器?没找到样例
11.UsesAssets.java
调用已经上传的文件,没找到样例
12.UsesLibraries.java
调用Jar包
路径位于\buildserver\build\classes\BuildServer\files(未验证拓展是否可用)
样例:扫码器

13.UsesNativeLibraries.java
调用本地的Jar包
未找到实例,就直接用上面的吧……
14.UsesPermissions.java
声明组件使用到的额外权限
样例:扫码器

15.最后说多两句
其实呢,用一句话就可以一口气引用整个包内的类了呢:
import com.google.appinventor.components.annotations.*;
祝AIX得愉快!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

1666

主题

1668

帖子

5022

积分

论坛元老

Rank: 8Rank: 8

积分
5022
发表于 2016-10-18 11:28:11 | 显示全部楼层
是否可以开发单选项组件?就是做单项选择题用的。先谢谢啦!

2

主题

6

帖子

36

积分

新手上路

Rank: 1

积分
36
发表于 2016-11-28 14:37:55 | 显示全部楼层
虽然我年纪应该比你大,不过达者为师,我现在也在学习这个,看到你的教程,非常感激
所以转了微信,聊表心意
还没开始尝试,但必定努力,再表感谢

2

主题

3

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2016-12-3 18:04:03 | 显示全部楼层
在git里面build失败  求教

5

主题

61

帖子

240

积分

版主

Rank: 7Rank: 7Rank: 7

积分
240
 楼主| 发表于 2016-12-31 05:50:29 | 显示全部楼层
thgnm 发表于 2016-11-28 14:37
虽然我年纪应该比你大,不过达者为师,我现在也在学习这个,看到你的教程,非常感激
所以转了微信,聊表心 ...

先感谢一下支持,,谢谢啦,,有什么问题可以在QQ找我或者是去我网站留言提问,我平时比较少上论坛,,

5

主题

61

帖子

240

积分

版主

Rank: 7Rank: 7Rank: 7

积分
240
 楼主| 发表于 2016-12-31 05:53:53 | 显示全部楼层
xiaoqiangheye 发表于 2016-12-3 18:04
在git里面build失败  求教

说详细一点嘛,,,,你这样我怎么解答呀

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2017-1-21 22:44:30 | 显示全部楼层
C:\1.bmp

0

主题

3

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2017-2-15 14:44:10 | 显示全部楼层
6666,必须顶

1

主题

10

帖子

41

积分

新手上路

Rank: 1

积分
41
发表于 2017-3-9 14:58:53 | 显示全部楼层
小老师,厉害,加油,顶

1

主题

3

帖子

35

积分

新手上路

Rank: 1

积分
35
发表于 2017-3-28 23:02:44 | 显示全部楼层
楼主好,我从网上下了个jar文件,请问这个jar应该放在什么地方?怎么导入里面的class呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则