【AppInventor】如何拓展AppInvnetor的功能
要拓展app inventor的功能,我认为有两种方法:
1.Java:扩展插件
2.JavaScript:网页浏览框
第一种:扩展插件
不知从什么时候起,AppInventor多了一个扩展插件(Extensions)的功能,位于设计视图中左侧列表的最后一项。它允许所以用户自己使用Java开发扩展插件或者使用他人的插件。
使用他人的插件:
1,下载别人的插件(aix文件)
2,点击“导入插件”,像导入素材一样导入插件
3,导入完成后拖拽至工作区域就可以使用了
如何下载?
可以到各个AppInventor的论坛中下载
百度搜索PuraVidaApps、Appybuilder、Makedroid、Droidmaker、Thunkable,进入其网站,这里分为两种类别,PuraVidaApps是一类,其它的是第二类。
第一类:
在PuraVidaApps的官网中找到Extensions,点击进去就能看到扩展插件的列表,点击绿色字体即可进入相应的扩展插件页面,其中带有图片的链接点击进去是taifun官方出品,质量更加保证,并且有详细使用说明,滑动到页面最底部点击Download即可下载示例文件(aia文件)或者扩展插件文件(aix文件)。其它的扩展插则跳转至其它网站,以Thunkable居多,另外需要注意的是部分链接指向group.google.com网站,由于是谷歌的产品,所以国内需要翻墙才能够打开。
第二类:
直接在这些网站的community中搜索需要查找的功能就可以了,注意要使用英文进行搜索。这里可以找到大量的AppInventor扩展插件,但是大多数插件由个人开发,没有进行太多的调试,所以在使用时一定要新建一个测试文件,导入扩展插件并进行试验。第一个可以在测试中充分了解其功能特性、返回值类型、使用方法等,第二个可以避免插件的不兼容性导致主要软件的设计前功尽弃。国内并没有发现比较完善的扩展插件的网站或者社区、论坛、微博、贴吧等,以上推荐的所以网站都是国外的,国外网站一大痛点恐怕是看不懂英文了,这里提供一些常见的App Inventor名词的翻译。
label:标签
buttom:按钮
notifier:对话框组件
dialog:对话框
toast:另一种对话框
list viwer:列表显示框
list picker:列表选择框
checkbox:复选框
webviwer:网页浏览框
arrangement:布局
table arrangement:表格布局
horizontal arrangement:水平布局(ha)
horizontal scroll arrangement:水平滚动布局(hsa)
vertical arrangement:垂直布局(va)
vertical scroll arrangement:垂直滚动布局(vsa)
web client:网络客户端
web server:网络服务端
QRscan:二维码/条形码扫描器
canvas:画布
扩展中常见名词翻译和解释
input:拖拽一个组件至此处(属性中最后一项)
delay:输入数字,表示延迟时间,一般为毫秒
disabled:输入布尔值,选择是否禁用
method:过程(紫色积木块)
event:事件
其它的翻译可以百度翻译一下,加上调试慢慢就摸清楚命名规律了。另外可以在appybuilder等平台上找到自定义的插件的命名规范,大部分插件开发者都是按照规范进行开发的。
使用插件时一定要先阅读插件使用说明和注意事项,避免损失。
插件的数量为什么这么少?
之前在appybuilder看到一篇文章,一个插件工程师讲述了插件的开发:开发插件需要会Java语言,而会Java的工程师都去自己开发Android软件了,所以没有太多工程师原意开发插件。
自己开发插件:
如果自己有良好的Java基础,可以参照app inventor官方的开发规范和指南进行开发。
另一种拓展功能的方式:
使用html+Javascript就可以用更简单的方式实现更多的功能。AppInventor的网页浏览框提供了页面交换字串功能,使用页面交换字串可以在网页与软件直接进行通信。这里有一个示例程序:
使用组件如下:
说明:此处使用了TaifunTools插件中的PathToAssets用于返回Assets文件及的路径。
这是html文件,极其简单的代码
运行效果如图
通过页面交换字串可以做出很多的功能,如:绘制图表(http://www.puravidaapps.com/pie.php)和MD5加密字串(点击这里查看)。PuraVidaApps也提供了使用页面交换字串的示例程序,下一篇我们将进行翻译。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com