App Inventor在中职物联网课程中的教学应用探讨

2017-04-10 09:26:37谭乃抗
张家口职业技术学院学报 2017年4期
关键词:安卓视图编程

谭乃抗

(东莞理工学校,广东 东莞 523000)

引言

在开发物联网系统人机界面的众多方式中,安卓(Android)程序是当前的最好选择。本校的物联网课程也选中安卓程序开发,作为物联网课程的内容,教学生如何开发物联网的人机界面。在往年,我们选择的安卓开发环境是在Eclipse下结合ADT插件,用Java语言来编写安卓程序。对于中职生来说,Java语言过于复杂与严谨,实现很小的功能都需要做一大堆的工作。因为Java语言是面向对象的编程语言,所以教师在教学过程中必须要向学生灌输面向对象的思想,严重影响教学的进度,还加大了学生理解程序代码的难度。全英文的开发界面以及难懂的系统关键词,让学生们望而生畏,也让他们产生了厌学的情绪,多数学生的学习效果不佳。从今年起,我们改用较易上手的App Inventor开发环境,来让学生学习安卓编程。

1App Inventor简介

App Inventor是用来开发安卓系统(Android)应用程序的开发环境,在其内部提供了一些可以调用安卓系统硬件的传感器组件,能直接使用设备的这些功能,如计时器、加速度传感器、方向传感器、位置传感器等,还能利用音视频的组件来轻松实现多媒体的交互,使用绘图动画组件做角色动画。采用了相当直观的图形化“块语言”,使编程人员可以更多地将注意力放在自己的想法或创意上,令初学者不再困扰于一些低级错误。所以App Inventor很适合那些有自己创意想法,却害怕编程太抽象语法太繁杂的学生进行学习。App Inventor不只是一个原型开发工具或界面设计器,它也可以用来创建各种完整的应用。它所使用的块语言提供了所有基础的编程指令,如循环语句及条件语句等,只不过是以“块”的方式来呈现而已。

2App Inventor的简单易用风格非常适合中职学生用于物联网开发

2.1App Inventor开发环境的搭建

App Inventor本身是不需要安装就能在线使用的开发环境,可惜在我国的网络政策下,多数人无法直接访问该服务器。可喜的是国内有相应的服务器可以使用,广州市教育信息中心为广大的爱好者搭建了服务器,网址为http://app.gzjkw.net,可以直接使用QQ帐号登录进行开发。虽然网上的服务器不必安装就可以直接使用,但毕竟需要一直保持在线,因而导致很多人喜欢用不必依赖网络的开发环境,于是出现各种离线版。不断更新的离线版变得越来越完善与方便,通过国内爱好者的汉化与整合优化,基于官方新版的App Inventor 2,推出离线汉化版中最好用的2017桌面版。使用者仅仅下载解压,就可以直接运行桌面版来进行APP的开发,不需要安装App Inventor服务器、Java环境、浏览器等。

通过简单的步骤,就能安装好App Inventor开发环境,这对于计算机知识积累较少的电子专业学生来说,是莫大的福音。

2.2App Inventor的开发过程

在App Inventor开发环境中新建了一个工程后,就可以进入正式的开发界面完善这个程序了。开发的过程主要在设计视图与编程视图中进行,两个视图的切换,可在主界面的右上角点击“设计”或“编程”按钮实现。第一步是在设计视图下,利用界面设计器来设计安卓程序的界面。App Inventor在组件面板当中提供了功能丰富的组件,可以拖放各种的可视化组件来设计界面,也可以拖放非可视化的组件来增加安卓程序的功能。组件是应用的组成元素,就像一个菜谱中的配料。有些组件功能单一,例如标签,它仅用于在屏幕上显示文字;再例如按钮,点击按钮将引发一个活动;有些组件功能复杂,例如画布组件,它可以容纳静态图片或动画,又如加速度传感器组件,它具有运动感知能力,可以侦测到设备的移动或摇晃;另一些组件可以编写并发送短信,播放音乐、视频,或者从网络上抓取信息等等。

图1App Inventor的组件面板

第二步是编程视图下,利用图形化的块语言进行程序功能的开发。块语言的编程过程就像是搭建积木一样简单而且有趣,如图2所示,是一个99乘法表练习APP的完整块语言程序。

图299乘法表练习的块语言程序

第三步是利用安卓系统进行调试。如果学生有安卓系统的硬件(如安卓手机),在手机中安装好“AI伴侣”后,扫描App Inventor生成的二维码,就可以快捷地进行硬件的正式调试。如果学生没有安卓系统的硬件,可以直接在App Inventor中打包成*.apk文件,在模拟器中进行调试。

3App Inventor的强大功能非常适合应用于物联网系统

在物联网统的人机界面中,大多数只是用文字或图片来显示系统状态,用简单的按钮来输入指令。这些在App Inventor中都很容易实现,而且交互效果很强大。App Inventor提供了按钮、图片、标签、音视频播放器等组件,能达到很好的多媒体交互效果,可以更生动地传递作者的意念,而不仅仅是枯燥无味的文字。比如第一节的App Inventor课,仅使用开发系统提供的画布与精灵,结合简单的块语言就实现了一个指南针的功能。

在设计视图中,传感器面板中提供了多种适合用在物联网中的传感器。如“加速度传感器”可以用于检测运动状态以及晃动;“计时器”可用于定时运行子程序,实现数据定时采集控制或定时数据处理;“方向传感器”可以检测方向或倾角;“位置传感器”可以实现设备的定位等等。这些功能的集中实现,还能一定程度地简化物联网系统的硬件组成,减小系统的复杂程度。

图3传感器面板

设计视图中的通信连接面板中有“Web客户端”组件和两个负责蓝牙连接的组件。“Web客户端”可以让开发者轻松地实现对某个IP进行http协议数据的传送,执行post文本请求或get文本请求即可。利用这个功能,开发出来的安卓程序可以很轻松地与硬件进行网络数据的传送,实现物联网系统的网络层的功能。

图4通信连接面板

App Inventor下的蓝牙连接功能也很完善与易于使用。在物联网系统中使用蓝牙转串口模块,就可以与安卓系统进行配对和连接。App Inventor开发的安卓程序使用SPP协议将数据发送到蓝牙转串口模块(如HC-05模块)后,会从模块以串口数据的格式输出,然后再传送到单片机或其它物联网模块。在App Inventor中,通过简单的拖放代码块,就能实现蓝牙的配对与收发数据。蓝牙功能的实现,可以让用户体验稳定的无线连接,让人机交互变得更人性化与方便。

App Inventor自身的块语言编程,有变量、循环、逻辑与数学运算等功能,可以对物联网数据进行强大的运算与处理,除了能与人机交互之外,还能使用数据库进行存储和管理。

结语

App Inventor之所以易用,是因为它采用了可视化操作界面,以及可拖拽的块语言。这样一来,学生在学习安卓编程时就不必去记忆繁杂的系统关键词,也不必去输入全英文的指令。在使用块语言时,不匹配的代码块是无法连接的,让学生少了很多犯低级错误的机会。App Inventor的学习成本远比其它的语言要低,而且它的成果你能安装到手机随身带着随时使用,体现它的价值。这一点很容易让中职学生对App Inventor产生浓厚的兴趣,期望能学好它。在物联网课程中采用App Inventor进行安卓开发后,学生的学习兴趣明显提升了很多。通过学习,同学们学会了很多的App Inventor功能,并成功地创建了一些自己喜欢的应用,甚至有学生自己编一些安卓小游戏来玩。由此说明,App Inventor是一个很适合中职学生学习的安卓开发环境,也适合用于物联网系统人机界面的开发。

参考文献:

[1]夏继媛. App Inventor在高职Android移动应用开发类课程中的教学研究与实践[J].新课程·下旬,2014(10):23-26.

[2]金从军. APP INVENTOR编程实例及指南[M]. 北京:清华大学出版社,2016:23-34,40-45.

[3]申圣兵,聂立文. 基于Android的手机学习平台的开发与应用[J]. 移动信息,2016(06):06-07 .

猜你喜欢
安卓视图编程
编程,是一种态度
少先队活动(2021年2期)2021-03-29 05:41:04
元征X-431实测:奔驰发动机编程
编程小能手
学生天地(2020年17期)2020-08-25 09:28:48
纺织机上诞生的编程
文物表情包
5.3 视图与投影
视图
Y—20重型运输机多视图
现代兵器(2017年4期)2017-06-02 15:59:24
SA2型76毫米车载高炮多视图
现代兵器(2017年4期)2017-06-02 15:58:14
一种基于安卓系统的手机侧抓包分析方法