MITAppInventor让移动应用开发更接地气
编者按:在科技发展日新月异的今天,信息技术教学已经远离了开、关机还需要反复讲解的时代,三岁孩童熟练地摆弄着iPad已非奇事。自策划了“Scratch来了”这一专题之后,编辑深刻感受到研究程序语言的老师的可爱,他们的执著、他们的探索,使得程序教学不再那么枯燥,焕发出勃勃生机。因此,杂志特别策划了这一专栏,将陆续刊发一些程序教学领域有代表性的教学实践。也期待更多老师投身到程序教学中去,通过自身的践行,推动程序教学的复兴。
●什么是MITAppInventor
●MITAppInventor的特
1.在线开发功能
2.可视化设计界面石筱磊
欢乐颂安迪身世MITAppInventor吸取了VisualBasic(VB)的控件式界面设计思想。在MITAppInventor的设
计界面中,用户基本上用鼠标就可以实现程序界面的设计,与VB的设计界面十分相似,左侧“Palette”为所有组件面板,包含了基本组件、媒体组件、传感器组件、屏幕布局组件、乐高机器人组件等,而且这些组件都已经封装好了。
3.积木式编程界面
对许多人来说,开发软件的使用本身并不难,困难的是掌握该软件的编程语言。MITAppInventor的积木式编程界面则正是针对这一现象而设计的,降低了技术门槛。即使是中学生或者小学生,只要有灵感就可以进行程序开发。
AppInvnetor的编程界面中,有三类积木面板,从左到右分别是:Built-In(标准组件)、MyBlocks(自定义组件)、Advanced(进阶组件),如图5所示。
4.在线模拟器
MITAppInvnetor平台还提供了在线模拟的功能。在完成编程之后,可以点击右上角的“Newemulator”按钮启动模拟器,再点击“ConnecttoDevice”按钮将程序载入已启动的模拟器中,用户就可在模拟器中调试应用程序,如图6所示。
●MITAppInventor典型范例大圣归来插曲
MITAppInvnetor的优点之一是通过几个简单的控件和相应的电子积木的搭建,就可以实现一些有趣的应用程序。以下的案例“小钢琴家”,通过7组Button(按钮)和7组Sound(声音)组件就可以模拟钢琴的7个音级,如下页图7、图8所示。
在下页的图8中,“Screen1.Initialize”是指Screen1(屏幕1)的初始化事件,里面嵌套了foreach循环语句分别对7个Button的Height属性和Weight属性进行初始化设置;整个“小钢琴家”程序的核心是分别用7个Button的Click事件分别控制7个音级声音的播放。可以看出,作为一款类似的图形化编程语言,其界面与Scratch类似,更加接近于Ardublock。
●MITAppInventor的教学策略
MITAppInventor的教学可以放在Scratch之后,VB之前。学生在Scratch的学习中,已经开始熟悉和掌握程序设计的几种基本结构,形成编程的基本意识。而AppInventor的应用程序开发更贴近生活和实际应用,可让学生的创造性思维在学习Scratch的编程经验基础之上,有更高的锻炼和发展空间。与此同时,与VB界面设计十分相似的AppInventor开发环境,也为学生学习VB程序设计做好了铺垫。
Google公司设计AppInventor项目的初衷,是降低应用程序开发的技术门槛,让更多的人,甚至是小学生都可以发挥自我的创造力,体会应用程序开发的乐趣。在AppInventor教学中,学生创造性的思维更为重要,教师要善于刺激学生的创造力和想象力的发挥。
●课程开设可能遇到的问题及解决
问题1
由于大陆没有Google服务器,因此在开设AppInventor课程时,可能会经常性地遇到网络的拥塞,学生甚至无法注册GoogleID,以至于课堂教学难以开展。
问题2
AppInventor开发的应用程序,目前只支持安卓系统,对基于安卓系统的其他系统不一定支持,如小米公司开发的MIUI(米柚系统)。
解决方法:若是购买到不支持的手机或平板,可以选择刷系统(刷机)。
问题3
目前,国内的中小学不支持学生带手机,没有设备如何调试应用程序。
爱经不起等待解决方法1:条件好的学校,可以选择合适配置的平板电脑来开展教学。
解决方法2:利用AppInventor开发平台自带的模拟器软件,但该模拟器并不完善,如无法模拟感知加速度。
AppInventor项目的负责人HaroldAbelson(MIT教授)曾说过:“AppInventor编写的应用程序或许不是很完美,但它们却是普通人都能做的,而且通常是在几分钟内就可完成。”然而,尽管AppInventor是一种面向所有人的“所见即所得”的开发工具,但仍然需要投入足够的时间来学习研究才能够更顺畅地使用和教学。同时,目前国内开设AppInventor课程的学校并不多,相应的案例、资源也还很欠缺,因此对于AppInventor课程的开设还存在很多的看不见的困难与问题,仍需要教师及开发者的相互帮助、相互交流,才能使MITAppInventor的应用程序开发更接地气。