翻译说明

{%}

本书原著为《App Inventor—Create Your Own Android Apps》,2011年由O'Reilly出版社出版,作者是来自旧金山大学的David Wolber教授、App Inventor发明人、MIT的Hal Abelson教授、谷歌工程师Ellen Spertus以及Liz Looney。

本书针对零基础的编程学习者,前13章为案例教学,通过对13个简单应用的逐步讲解,学习者可以对编程的过程及基本概念有所了解,并掌握使用App Inventor编程的方法。后面的11章是指南或手册,从专业角度对编程的概念加以梳理,并针对Android应用特有的传感器及Web访问做了系统的介绍,使学习者对编程的认识上升到理论的高度。

本书的英文版来自BOOK2网站,该作品采用“署名-非商业性使用-相同方式共享3.0 未本地化版本”的版权许可协议,而译文遵从同样的4.0版国际许可协议。中文版地址:http://www.17coding.net

{%}

作者简介

{%}

本书的主创作者David Wolber来自美国旧金山大学,是一位计算机科学专业的教授,他喜欢篮球、阅读、政治、哲学、心理学。他使用Python语言讲授计算机科学导论,最近又在一个特殊课程中,使用App Inventor for Android讲授计算机编程入门,旨在让那些非计算机专业的学生也能创造出自己的应用软件作品。

译者简介

{%}

译者在新浪微博及博客上自称“老巫婆”,本科为物理学,做过大学教师、创业者、销售主管、程序员、开发项目经理、IT培训教师等,喜爱游戏及编程,最近发现喜欢翻译工作,因此才有了这本《App Inventor——Create Your Own Adroid Apps》的中文译本。

背景知识

身世

App Inventor for Android简称App Inventor,最初是谷歌公司提供的一个开源的web应用,现在由麻省理工学院(MIT)负责维护及运营。

历史

该应用由谷歌公司的Hal Abelson创建,于2010年7月12日上线运行,2010年12月15日公开发布。2011年下半年,谷歌公司公布了应用的源码,关闭了服务器,投资创建了MIT移动学习中心。该中心负责App Inventor的后续开发及运营维护,并于2012年3月发布了App Inventor的MIT版本,此后,又于2013年12月6日发布了App Inventor 2,并将此前的版本命名为“经典App Inventor”。

创建背景

App Inventor的创建依据是结构主义的学习理论,该理论强调主动学习,认为编写程序将成为激发强大思想的有效工具。在此理论的影响下,从20世纪60年代开始,在MIT的Logo小组以及Logo语言发明人Seymour Papert的积极努力下,一系列与计算机及教育有关的活动在整个美国相继发展起来,并一直持续至今。包括乐高头脑风暴机器人(Lego Mindstorms)、StarLogo语言以及App Inventor在内的一些列与学习有关的发明,都是这些活动的组成部分。

开发准备

开发环境

任何一台可以通过浏览器访问互联网计算机,都可以作为开发的硬件环境,App Inventor的运行环境为浏览器,请使用非IE浏览器。

账户申请

使用App Inventor需要用谷歌账户进行登录,以便进行个人作品的保存。因此首先访问http://www.google.com,点击右上角“登录”,进入登录页面后,选择“创建账户”,填写相关的注册信息之后,还需要进行电话短信验证,儿童最后由父母来代为申请。账户申请成功后,会自动转为登录状态。

首次进入App Inventor开发环境

在浏览器中输入http://ai2.appinventor.mit.edu,进入登录页面,要求再次输入密码。输入密码后点击“登录”,出现提示页面,告知你登录App Inventor需要使用你的谷歌账户,但不会将你的个人信息和密码开放给App Inventor。

选择“Allow(允许)”,之后进入App Inventor的欢迎页面,要求你填写一份简短的自愿调查,以便了解用户并改进产品。可以选择“立即参与(Take Survey Now)”、“稍后参与(Take Survey Later)”或“不参与(Never Take Sruvey)”。无论是否参与调查,最终将进入另一个欢迎页面(每次进入开发环境之前,都会看到这个欢迎页面)。该页面的两个链接会分别打开一个窗口,说明如何设置开发的测试设备(Android设备或模拟器),这个页面有两个信息值得注意:①模拟器和USB连接的测试设备目前只支持苹果和windows操作系统,不支持Linux;②开发环境不久将实现对IE的支持,言外之意现在不支持IE。

点击“continue”按钮,进入最后一个欢迎页面,提示你尚未建立任何项目,并提示你如何建立新项目;另一个提示是,如果你曾经建立过项目,但在这里看不到,推测你可能之前使用的是版本1.0,并提供了1.0版本的链接。鼠标点击任意位置,正式进入开发环境。

开发测试之一:WiFi连接

开发过程中可以用Android设备对应用进行实时测试,但前提是在Android设备上安装“AI伴侣”软件,扫描下面图01的条码可实现软件的下载及安装:

{%}

图 01 用条码扫描软件扫描下载AI伴侣

测试设备具体连接方法如下:

1. 在Android设备上运行AI伴侣,如图02;

{%}

图 02 测试连接:手机上的操作

2. 在电脑上App Inventor开发环境中点击“connect--AI Companion>”,系统自动生成一个二维码,以及对应的六个字母的编码,如图03所示;

{%}

图 03 测试连接:电脑上的二维码及编码

3. 在手机上可以直接输入编码,并点击“connect with code”,或扫描二维码,即可建立连接;

4. 开发中的应用将在手机上运行。

开发测试之二:USB连接

电脑端的操作

1. 下载aiStarter

2. 以administration身份登录windows;将aiStarter安装在默认的C:盘上;

3. 运行aiStarter。

手机端设置

1. 下载并安装AI伴侣

2. 设置手机的USB调试模式:设置->开发者选项->选中USB调试;

3. 运行AI伴侣;

连接手机与电脑

在App Inventor开发环境里选择“连接->USB”,稍等片刻即可。经测试Nexus S可以成功连接。

提示

使用USB连接进行实时测试,整个安装连接过程是否顺利,取决于很多因素,列举如下:

1. 安卓设备的型号(MIT网站提供):

  • Nexus One

  • Nexus S

2. 安装aiStarter时必须以administration身份登录windows;

3. 手机上打开USB调试模式。

开发体验

为了解决国内用户连接App Inventor可能出现的限制,我们正在尝试将App Inventor的开发环境移植到非谷歌的服务器上,并对环境进行了汉化。目前这项工作正在进行中,为了让用户尽早体验到使用App Inventor开发Android应用的快乐,我们将测试版本向用户开放。测试版本暂时没有做用户登录设定,您所创建的应用对全体用户可见。点击本页面右上角的“开发体验”按钮即可进入开发环境。

屏幕切换案例

SwitchScreen.apk

SwitchScreen.aia

用AI2开发的俄罗斯方块

Tetris_singleListItem.apk