移动互联网技术和智能手机发展迅猛,移动应用Apps的开发备受关注。本课程以 Android 的图形化积木式编程软件 App Inventor 2 中文版 为载体,无需任何编程基础,从零起点开始, 通过案例引导和项目驱动的教学方式,培养学生的计算思维能力,并具备基本的 Android应用开发能力。 本课程为Google精品课程。
合格证书:60分以上
优秀证书:80分以上
零起点,无需编程基础,会上网,会敲键盘就行。当然如果你以前学过一点C语言或者Visual Basic之类的,也许你会觉得你有先发优势。
(一)Android与App Inventor简介
移动互联网发展迅猛,Android作为发展势头最好的系统平台之一,越来越受用户的接受和重视。开发Android的App并一定要计算机专业的高年级同学,其实零基础、非专业的同学如果有兴趣也完全可以开发出自己的专属App。
本章的主要知识点包括:1)了解Android平台;2)安装App Inventor开发环境;
(二)小机器人安安诞生记
本章通过一个简单的应用程序“Hello, AnAn Robot”的Step by Step开发来介绍App Inventor开发环境及整个开发过程,让学生能够快速开发出第一个非编程的Android小应用。通过这个小应用的开发,让学生对软件开发有了直观的感觉,结合该程序介绍面向对象的思想和App Inventor中的开发体系结构。
本章的主要知识点包括:1)了解如何通过App Inventor组件来设计自己的App;2)熟悉图像、音效等多媒体组件和标签、按钮、加速度传感器等组件的基本属性和布局;3)学会使用逻辑设计的块编辑器来定义组件行为;4)通过模拟器测试开发的App;5)打包下载开发的App到手机中;6)发布App;7)管理App Inventor源程序;8)面向对象程序设计思想;9)App Inventor开发体系结构。
(三)安安猜价格
本章的案例为“安安猜价格”,猜价格在生活中是一个比较有趣的小游戏,类似猜数字、猜字母等,用户输入答案,系统提示猜高还是猜低了,猜中后系统记录猜中的次数,通过这个简单案例我们要进一步熟悉App Inventor开发环境及整个开发过程,并重点了解逻辑设计中控制模块(条件判断、循环)的使用方法和“变量”这一内置块的应用。对一般程序设计中的“数据类型和变量”概念进行阐述。
本章的主要知识点包括:1)定义全局变量;2)如何产生随机数;3)学习“如果…则…”条件判断模块;4)使用“循环”模块;5)App Inventor中的数据类型和变量;6)命名规则。7)如何进行算术运算;8)控制屏幕的基本布局。
(四)安安爱画画
本章以一个“涂鸦画板“为案例,对App Inventor程序开发做进一步介绍。涂鸦画板具有最基本的绘图功能,在一张画布上可以选择画笔的颜色,画笔的粗细,作画的方式(画圆点还是划线),画好还可以存盘,并且可以自己进行调色。通过本案例对画布、球形精灵、滑动条等组件和屏幕触摸、滑动事件等进行讲解。通过本例开始了多屏幕App的开发,学习多个屏幕间的控制和调用。
本章的主要知识点包括:1)利用画布实现绘图功能;2)处理触摸和划屏事件;3)颜色是如何定义的;4)多个屏幕之间的控制和数据传递。
(五)安安抓蝴蝶
本章以“安安抓蝴蝶”小游戏为例,主要展示了如何在App Inventor中开发一个小游戏,主要功能包括:实现图片的移动、判断是否触摸到某个精灵、计分的基本功能。结合案例对程序结构和过程函数进行讲解和分析。
本章的主要知识点包括:1)使用图像精灵组件和画布组件显示游戏图像;2)使用计时器组件处理定时事件;3)游戏的用户体验;4)使用过程组件来实现重复性行为;5)列表的基本用法。
(六)安安的通讯小助手
本章以“安安的通讯小助手”小应用为例,主要展示了如何在App Inventor中对短信、电话、数据存储等功能的实现。重点对程序设计中的通讯模块和数据持久化进行讲解分析。
本章的主要知识点包括:1)使用短信收发器组件发送和处理接收到的短消息;2)使用列表选择框组件;3)使用微数据库组件来持久化存储客户的消息;4)文件的基本用法,利用屏幕初始化事件来装置配置文件;5)利用文本语音转换器组件来朗读文本。
(七)安安历险记
本章以“安安历险记”小游戏为例,主要展示了如何实现一个稍微复杂一点的游戏,包括使用方向传感器组件来控制精灵的运动方向,更加直观的表示精灵的生命值,加入初步的人工智能策略等。重点对程序设计中的过程及人工智能思想进行讲解分析。
本章的主要知识点包括:1)使用多个图像精灵组件处理多角色精灵;2)通过方向传感器方向传感器组件来控制精灵;3)精灵的动画效果和造型变换;4)图形化变量表示;5)动画游戏类App的基本事件和处理模式; 6)创建和使用带参数的过程;7)使用逻辑运算;8)碰撞检测思想与方法;9)边界检测思想与方法;10)人工智能初步。
(八)安安爱弹琴
本章以“安安爱弹琴”小应用为例,主要展示了如何实现一个Android平台的简单电子琴,主要功能包括不同琴键的发声和弹奏录音、回放功能。案例中采用列表来记录弹奏的过程,通过对列表的一些高级用法分析和回放弹奏过程的设计,引出程序设计中的数组、循环与递归等概念。
本章的主要知识点包括:1)使用单个音效组件来播放不同的声音文件;2)使用计时器组件实现时间间隔事件的触发;3)创建递归过程;4)列表的高级用法;5)数组、循环与递归思想。
(九)安安爱成语
本章以“成语接龙蓝牙对战”小应用为例,主要展示了如何实现一个通过蓝牙通讯进行成语接龙游戏的App,主要功能包括如何进行蓝牙通讯连接、进行服务器和客户机的设置;如何通过成语词典检查输入的是否是成语;如何判断是否符合成语接龙的游戏规则。。
本章的主要知识点包括:1)蓝牙服务器和蓝牙客户机组件的使用;2)文件和列表的高级用法;3)多机通讯模式的游戏开发要点。
(十)安安的股市
本章以“安安的股市”小应用为例,主要展示了如何实现一个基于Web API的小应用,主要功能包括通过调用Web服务来查询股市行情。重点对程序设计中的API和Web服务进行讲解分析,讨论面向服务的软件开发思想。
本章的主要知识点包括: 1)了解和使用API;2)调用Web API。3)JSON数据解析;4)了解面向服务的软件开发思想。
(十一)安安爱旅游
本章以“安安爱旅游”的小应用为例,主要展示了如何在App Inventor中实现地图、方位传感器、相机等组件的应用。实现地图定位,拍照,写旅游日记等功能。重点对基于位置的服务LBS应用和网络数据存储进行讨论。
本章的主要知识点包括:1)使用ActivityStarter组件来调用地图功能;2)利用位置传感器组件来获取当前位置信息;3)调用相机并存储照片;4)如何利用新浪SAE来搭建自己的数据网络云存储服务;5)数据共享,通过TinyWebDB实现用户登录和日记本功能。
(十二)如何准备和参加 Google App Inventor 应用开发全国中学生挑战赛
介绍Google App Inventor应用开发全国中学生挑战赛情况,点评学生往届参数获奖作品,讨论和分析。如果你是中小学信息化教师或者有意参数的学生,本节不容错过。
*注:以上内容将根据教学效果有所调整
1、吴明晖, 《App Inventor - 零基础Android移动应用开发》,高等教育出版社,2018.3
2、吴明晖,金敏,《App Inventor创意趣味编程》,电子工业出版社,2017.9
部分电子教程发布在 COOC-China 上,请通过以下链接查看:
http://cooc-china.github.io/android/2016/01/22/app_inventer_minghuiwu.html
Q:我没编程基础,真的能学么?
A:肯定能学。本课程内容已经在线下教授过很多轮次,学生从小学高年级学生到大学生,他们都能从中获取所需并发现乐趣,最终能开发出不错的作品来。不要怀疑自己,只要你肯投入!
Q:我需要特殊版本的计算机吗?
A:任何计算机都可以用于App Inventor开发,包括但不限于各个版本的MS Windows、各个版本的Mac OS X、各种发行版本的Linux。关键是要能上网(相信大家能上MOOC应该就能上网的)。
Q:我需要特殊版本的手机吗?
A:需要Android系统的智能手机。所以苹果手机、Winphone手机或是老式的功能手机(非智能机)是不行的。但Android手机没有太大的版本限制,主流的都行。
Q:我需要安装特定的软件才能做这门课的作业吗?
A:App Inventor是基于浏览器,网页模式开发的。如果纯粹开发在PC上是无需安装任何特殊软件的,但开发过程中的调试需要用到配套的PC上的模拟器软件或者安装在Android手机上的伴侣软件。
Q:每周会发布多少时间的视频?我需要花多少时间来学习?
A:我们按照90分钟的授课时间来设计课程。但是发布的视频肯定小于90分钟,一般在60分钟左右。因为在线下上课时,老师可能会回顾一下上周的内容、某些内容会看学生的反应重复几遍、会当堂问做一些提问,以及在各种软件等教学工具之间切换,这些都要花点时间,而这些在线上课程中都不存在了,所以视频的时间不会正好是90分钟。但是一般我们设计课程需要1:1.5到1:2的课后学习时间,这包括预习、作业、练习和复习的时间,所以每周大约需要花费三到五小时的时间。如果你需要开发出更好的作品,可能需要花费更多的时间,生命就该浪费在自己喜爱的事情上,不是么?
Q:有没有配套的教材?
A:课程配套的教材 《App Inventor - 零基础Android移动应用开发》已经由高等教育出版社出版,请通过以下链接查看:http://www.hep.com.cn/book/details?uuid=f0577780-157c-1000-0ab1-55b34aba28f0
Q:有没有QQ群、微信公众号可以加入?
A:为了方便大家联系,本课程开设了一个微信公众号,课程中需要一些素材文件,如图片、声音,可以在公众号中获取。暂时没有开设QQ群,主要怕人多消息太杂,不利于交流。有问题讨论请去课程中的讨论版,这个还算平时分哟。
微信公众号:AppMooc,也可扫描以下二维码关注。