师:同学们,我们进入广州版信息技术教科书初中第二册第三章第二节“摇一摇听单词”的学习。上节课,我们按新建项目、组件设计、编程设计、连接测试的流程,制作了天气预报APP。有些同学还尝试开发了能定向访问多个网站、实现指南针功能的APP,非常棒。其实利用APP inventor,除了编写有趣有用的应用,还能辅助日常学习。今天我们就来编写一款能实现摇摇手机,让手机朗读英文单词功能的APP。
先来看看学习目标:通过本节课,我们要了解加速度传感器和语音合成器的作用,学会设置按钮和文本输入框的属性,制作摇一摇听单词的手机APP。摇一摇听单词是怎样的应用呢?我们连线小浩和小珍,邀请他们体验。小浩、小珍,启动这个APP,体验过程中有两个任务:一、留意做了什么;二、思考做这些动作时,手机有什么反应。开始吧。
生1:首先我拿起手机打开软件,在文本框里输入“hello”这个单词,然后摇摇手机。
生2:现在我在中间这个框中输入英文单词“China”,然后点击这个按钮。
手机:China。
师:好,老师提问,刚才你们操作了什么?
生1:我在框中输入“hello”这个单词,然后摇晃手机,接着就听到了这个单词。
生2:我在文本框中输入“China”这个单词,接着点击中间的“听单词”按钮,然后就听到了“China”这个英文单词。
师:请你们猜想一下,做这些动作时,手机有什么反应?
生1:当我摇晃手机的时候,手机能感受到它被摇晃了。
生2:我点击中间按钮,手机感受到被点击。而且我输入单词时,手机接收到单词并显示出来,还读出了我们输入的单词。
师:谢谢两位同学。我们梳理一下,人的动作要被手机接收并做出反应。具体来说,小浩同学输入英文单词“hello”,手机接收单词,他摇一摇手机,手机侦测到被晃动,然后朗读出文本框里的单词,所以能听到单词“hello”。小珍同学输入单词“China”,手机接收到,她点击按钮,手机检测到被点击,然后朗读文本框里的单词,所以能听到单词“China”。
同学们,在APP inventor中实现这些功能,需要相应组件。用文本输入框组件接收单词,加速度传感器侦测手机被晃动,语音合成器合成语音念读文本,按钮组件检测到被点击。捋好思路,接下来跟着视频学习制作摇一摇听单词的手机APP。
新建项目:按以下步骤新建项目“listenwords”,在窗口左上部单击“项目”,选“新建项目”。在新建项目窗口中输入项目名称,单击“确定”。
组件界面设计:按以下步骤对“LISTENWORDS”应用进行组件界面设计。在组件列表中选中“SCREEN 1”组件,将其水平对齐属性设置为“居中”,标题属性设置为“摇一摇听单词”。从组件面板的“用户界面”中拖入文本输入框组件到工作面板中,将文本输入框的属性按默认设置为空。从组件面板的“用户界面”中拖动按钮组件到工作面板中,将按钮的文本属性设置为“听单词”。从组件面板的“多媒体”中拖动语音合成器组件到工作面板中,从组件面板的“传感器”中拖动加速度传感器组件到工作面板中。
编程设计:按以下步骤对“LISTENWORDS”应用进行编程设计。单击窗口右上方“编程”按钮,进入编程界面。在代码块的“screen 1”中单击“加速度传感器1”,在右侧选择“当加速度传感1被晃动时”事件。在代码块的“screen 1”中单击“语音合成器1”,在右侧选择“让语音合成器1合成语音”方法,拖动该方法拼接到“当加速度传感器1被晃动时”事件中。在代码块的“screen 1”中单击“文本输入框1”,在右侧选择“文本输入框1的显示文本”属性,拖动该属性拼接到“让语音合成器1合成语音”方法后面。在代码块的“screen 1”中单击“按钮1”,在右侧选择“当按钮1被点击时”事件。在代码块的“screen 1”中单击“语音合成器1”,在右侧选择“让语音合成器1合成语音”事件,拖动该事件拼接到“当按钮1被点击时”事件中。在代码块的“screen 1”中单击“文本输入框1”,在右侧选择“文本输入框1的显示文本”属性,拖动该属性拼接到“让语音合成器1合成语音”方法后面。
测试项目:测试本项目时,因涉及传感器和多媒体组件,模拟器不能提供这些功能,可通过打包apk文件到安卓手机进行测试。
师:同学们,我们按新建项目、组件设计、编程设计、测试项目的一般步骤开发这个应用。首先新建项目,点击“项目”,选“新建项目”选项,在对话窗口中输入项目名称“listen words”。接着进入组件设计,制作这个APP需新增文本输入框、按钮、加速度传感器、语音合成器这四个组件。其中,用户界面的文本输入框和按钮是可视组件,按钮感知用户触摸,文本输入框让用户输入文字。另外两个非可视组件,是多媒体工具组中的语音合成器和传感器工具组中的加速度传感器。非可视组件拖放到工作面板后,会在底端显示图标。语音合成器组件让设备将文字用语音念读出来,加速度传感器组件侦测到被晃动。
同学们,组件设计时,除添加必要组件,还应根据实际在属性面板设置相应组件属性,让界面更完善。比如在这个应用中,要让按钮1组件显示“听单词”三个字,就在属性面板将其显示文本属性从默认的“按钮1文本”修改为“听单词”。按钮、文本输入框等组件属性设置不限于此,还可个性化设置背景颜色、字号、高度、宽度等,也能设置文本输入框的提示属性,提示用户输入英文单词。
