人人都能开发安卓App:App Inventor 2应用开发实战[按需印刷]

更多详情

内容简介: 《人人都能开发安卓App:App Inventor 2应用开发实战》是基于App Inventor 2的安卓开发教程。App Inventor 2是一款图形化在线安卓开发软件,软件入门门槛低,无需编程基础,程序员和非程序员均能上手。App Inventor 2不仅可以开发各种安卓程序,还可以同单片机、Arduino、乐高机器人连接,应用领域广阔。
全书由三位App Inventor中文网资深版主撰写,主要内容包括:App Inventor 2入门、App Inventor 2开发基础要素、多媒体应用、传感器和蓝牙应用、动画游戏应用、网络应用、数据交互应用等。本书给出了2048、打飞机、手机遥控机器人等时下流行的软件应用,还在附录介绍了App Inventor 2组件及指令,是App Inventor 2开发的一本权威参考书籍。
本书适合作为App Inventor 2课程的辅导教材,也适合作为希望快速掌握安卓开发的新手及编程爱好者的参考资料。

目录: 《人人都能开发安卓App:App Inventor 2应用开发实战》
前言
第1章 App Inventor 2入门 1
1.1 App Inventor 2基础知识 2
1.2 App Inventor 2环境搭建 3
1.3 App Inventor 2界面 12
第2章 App Inventor 2开发基础要素 15
2.1 从Hello World开始 16
2.2 漫画书 20
2.3 涂鸦板 25
2.4 便签 30
2.5 数学问题 36
第3章 多媒体应用 41
3.1 微电影 42
3.2 电影墙 45
3.3 练耳 49
3.4 语音输入 53
3.5 摇一摇报时 56
第4章 传感器和蓝牙应用 60
4.1 贪吃球 61
4.2 图书扫描 65
4.3 开机画面 71
4.4 蓝牙猜拳 76
4.5 手机遥控机器人 84
第5章 动画游戏应用 91
5.1 打地鼠 92
5.2 弹球 97
5.3 打飞机 103
5.4 拼图 110
5.5 2048 118
第6章 网络应用 134
6.1 浏览器 135
6.2 街景地图 138
6.3 JavaScript交互 143
6.4 ActivityStarter 148
6.5 TinyWebDB 153
第7章 数据交互应用 157
7.1 天气预报 158
7.2 校园新闻 164
7.3 注册登录 168
7.4 上传下载 176
7.5 聊天室 182
附录A App Inventor 2组件 188
附录B App Inventor 2指令 234
附录C 常用ActivityStarter查询 241
附录D App Inventor网络资源 243
参考文献 245

前言: 网友一直在讨论:App Inventor到底能干什么?有人说这就是Scrath的升级版,中学生玩玩吧;有人说功能太弱,还是学Eclipse吧;有人说,零基础的入门还行;还有人说,功能很强大,我的应用已经上架了。这些看法都只代表了App Inventor的一方面。图形化的界面、云积木的方式,的确十分便利,尤其是对于非计算机专业、没有编程基础的读者来说,上手很容易。利用App Inventor,你可以两分钟做出一个WAP客户端,5分钟做出一个播放器;若是使用Eclipse,可能需要花费一个月的时间。与此同时,App Inventor的源码是开源的,如果你的编程技术非常棒,你可以开发出一个组件,方便更多的网友。
如今,智能手机已然融入人们的生活,各行各业的人们都已经离不开它。学习一点App Inventor知识,结合自己的行业知识,也许能开发出一款很酷又很实用的应用,这是程序员不能帮你解决的,因为只有自己才真正了解自己的需求,开发出适合自己的应用。这两年间,我看到一些非计算机专业的网友开发出了一些特别的应用,如电阻查询、税控发票验证、交通事故赔偿计算器等。尽管我可能不了解这些应用的具体功能,但我相信这些应用确实给他们的工作和生活带来了帮助,这才是App Inventor的伟大意义——人人都是开发者。
感谢Google和MIT开发了这款软件,特别是MIT结合国内访问服务器不稳定的情况,开发了国内可以访问的备用服务器(http://contest.appinventor.mit.edu/)。在本书完成之际,MIT为推广App Inventor 2在中国的使用开发出中文版界面,目前已经进入测试阶段。
感谢App Inventor中文网(http://www.appinventor.com.cn/)的第一任站长赵延生建立了这样一个供国内网友交流的平台。
App Inventor欢迎各行各业的朋友加入,只有大家的需求和创意才能让App Inventor更好地发挥出它应有的作用。
编者
2014年9月

书摘: 第1章
App Inventor 2入门
本章介绍App Inventor 2的基础知识、环境搭建及界面,为后面的应用开发打下基础。
1.1 App Inventor 2基础知识
App Inventor是一款基于Web、面向没有编程经验的初学者的Android应用开发工具。它最初是谷歌实验室(Google Lab)2009年开始,由麻省理工学院(MIT)的Hal Abelson教授主导的一个实验项目。与传统的代码编程不同,App Inventor中程序是通过可视化的指令模块来实现的,并用模块定义不同的功能。App Inventor模块的理论最初基于Ricarose Roque的硕士论文,而模块的实现又基于另一位MIT教育项目负责人Eric Klopfer创造的StarLogo模拟程序。2010年12月5日App Inventor对外公测。2012年1月1日谷歌由于业务发展调整,将该项目移交给麻省理工学院移动学习中心(MIT Center for Mobile Learning),由麻省理工学院在MIT开源协议下开放该项目的源代码,并提供一个可供公共访问的云端开发环境。2012年3月4日,MIT App Inventor开放使用。2013年12月,麻省理工学院推出了新的App Inventor版本——App Inventor 2(以下简称AI2)和新的App Inventor官方网站。之前的版本称为App Inventor Classic或App Inventor 1(以下简称AI1),而且目前已经停止对App Inventor 1提供技术支持。本书是以App Inventor 2为基础进行编写的。
几乎在App Inventor上线的同时,国内的IT界和教育界就注意到了这一新的Android应用开发工具,越来越多的中高级院校将App Inventor作为非计算机专业的选修课程,如浙江师范大学附属中学、汕头大学、中山大学、四川文理学院、芜湖职业科技学院、淄博职业学院、江西师范大学、哈尔滨工程大学、深圳信息职业技术学院、马鞍山师范高等专科学校等。同时麻省理工学院和Google中国大学一直支持App Inventor 在中国的推广和发展,在2013年和2014年举办了多期暑期班,并为国内使用者专门搭建了备用服务器(http://contest.appinventor.mit.edu/),同时为推广App Inventor的使用,MIT于2014年9月14日推出中文版本(含简体、繁体)。
当然,编写程序究竟是英文好还是中文好,还有待实践,本书仍以英文原版介绍为主。
?小窍门☆
AI两个版本的区别
功能区别:AI1由于官方不再开发,所以新组件没有AI2多。
代码编辑器(Block Editor)的区别:AI1是基于Java Web Start的代码编辑器,所以开发者必须安装JRE,而AI2完全基于浏览器,开发者除了浏览器不需要额外安装任何软件。
?注意? 两个版本的代码不兼容,也就是在AI1中导出的项目,不可以直接导入AI2中,两者的模拟器也不兼容。
1.2 App Inventor 2环境搭建
由于AI2是完全基于浏览器开发安卓应用的(也叫做云端开发),只要你能访问AI2云端官方服务器http://ai2.appinventor.mit.edu(由于受Google插件影响,国内经常无法访问,可访问备用服务器http://contest.appinventor.mit.edu/),再通过以下三种方式,就可以快速开发一个安卓应用。
?提示
尽管App Inventor 2官方是在线开发软件,但由于是开源软件,一些程序员也开发出了离线开发包,即没有互联网时,本地也可使用。由于离线包并非官网推出,本书不再介绍,有需要者可自行下载。
方式一:使用安卓设备(安卓手机或平板电脑)和无线网络进行开发(强烈推荐)
这种方式不需要你在计算机上下载任何额外的软件,而是直接在云端服务器上开发,并通过在安卓设备上安装MIT App Inventor Companion配套App进行实时调试,如图1-1所示。
……