刚接触App Inventor 2时,大部分人会被它现成的组件库"惯坏"——想听歌有Player、想拍照有Camera、想存数据有TinyDB。但做着做着就发现,有些需求官方组件根本覆盖不了:比如需要批量图像处理、声波频率分析、多点触控缩放画布……这时候再转去学原生Android开发,成本又太高。
其实App Inventor 2一直留着一扇"后门"——拓展组件(Extension)。你只需写少量Java代码,把功能打包成一个.aix文件,就能像拖普通组件一样拖进项目里用。
当官方积木无法满足这些场景时,Extension就是答案:
git clone https://github.com/mit-cml/appinventor-sources.git
cd appinventor-sources
ant MakeExtensions确保JDK 8已安装。环境就绪后,你可以先做练习——把Camera组件改名导出为AltCamera.aix。
@SimpleFunction(description = "返回两个向量的和")
public float[] addVectors(float[] v1, float[] v2) {
return new float[]{v1[0] + v2[0], v1[1] + v2[1]};
}编译得到 .aix,导入项目后,积木区自动出现 AddVectors 和 DotProduct 两个函数块。
.aix 会自动打包在 .aia 中,对方无须额外导入社区已有 ImageProcessor、SoundAnalysis、ScaleDetector 等开源Extension,可在 MIT Extension Repository 下载试用。
参考文档:App Inventor 2 中文网 (fun123.cn)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。