前言

这是笔者关于 App Inventor 的第三本书。三本书分别代表三个难度等级,本书难度为二级,要求读者对于 App Inventor 编程有一定的基础 ①。本书是 App Inventor 应用开发的实例讲解,共 21 章,包含 15 个完整的应用,覆盖了游戏、教学、工具、信息管理以及网络应用等应用类型。针对每个具体的应用,从功能描述开始,有针对性地剖析技术要点及难点,然后进行用户界面的设计以及代码的编写,最后对代码进行整理回顾,对相关的技术及方法进行归纳,以期使开发者从具体的编程实例中抽象出一般性的规律。

App Inventor 软件简介、工具下载、汉化版本情况等信息,参见本书附录。②

为什么要写一本实例的书

这与我个人学习编程的经历有关。2002 年秋天,由于个人原因,38 岁的我从一家国企的销售管理岗位上退了下来。回到家中,我有了一个迫切的愿望,就是开发一款销售管理软件,将自己多年销售管理的实战经验,与从业期间所接受的职业培训的相关内容整合起来,以工具软件的形式提供给销售人员。销售人员在使用软件管理业务的同时,也潜移默化地学会用户管理、时间管理、项目管理等。我深信工具(软件)可以起到教育的作用。对于刚刚开始学习编程的我来说,这是一个不小的挑战,不知道从哪里下手,也不知道该去读什么书。在书店里寻来寻去,希望能够找到一本类型相近的完整案例讲解的书,却没能找到。对这类书的渴求在我的心里留下了一个巨大的“空洞”,于是多年之后,当我自己开始写编程的书时,就很自然地选择了以案例为主的方式。2016 年出版的《App Inventor 开发探底——俄罗斯方块开发笔记》是我的第一本原创书,介绍了俄罗斯方块游戏开发的完整过程。

① 作者的第一本书为《写给大家看的安卓应用开发书:App Inventor 2 快速入门与实战》(图灵程序设计丛书),2016 年由人民邮电出版社图灵公司出版,难度等级为一级,适合初学者;第二本书为《App Inventor 开发探底——俄罗斯方块开发笔记》(青少年科技创新丛书),2016 年由清华大学出版社出版,难度等级为三级,适合对 App Inventor 较为熟悉的读者。

② 本书其他资料,如源文件、辅助文档、图片素材等,可在图灵社区页面 http://www.ituring.com.cn/book/2561 的“随书下载”处获取。

编程这件事儿

在以往的教育体制中,要等到大学阶段才开始接受编程教育,不过近年来编程教育已经开始下移,向中小学渗透。随着图形化开发工具的普及,越来越多的人开始尝试编写自己的应用程序,不过有更多人至今仍徘徊在编程技术的门外,心中充满疑惑。经常有读者问,要具备怎样的基础才能学习编程。我给出的回答是,只需具备两个条件:(1) 会使用“如果……则……否则……”造句;(2) 会运用四则运算解简单的应用题。也就是说,小学高年级学生就可以开始学习编程了。

如果你能安心地阅读本书中的前几章,就会发现我的话并不夸张。程序是一种非常确定的语言,比起我们日常交流使用的自然语言,它的词汇量很少,语法简单但很严格。学会这种语言的前提是会用自然语言来表达,所要学习的是怎样将自然语言翻译为程序语言。

我们都熟知一个事实,大多数人从小学就开始学习英语,掌握了大量的词汇及语法知识;可是,当你有机会去面对一个外国人时,却很难顺畅地交流。相反,对于生长在英语环境中的人来说,不必接受特别的教育就会使用这门语言。这是为什么?我想说的是,语言必须经常使用(而非学习)才能真正熟练掌握。英语如此,程序语言也是如此。

语言的学习从模仿开始,当掌握了必要的词汇及语法知识后,就可以随心所欲地表达自己的思想了。本书所提供的例子,就是一些可供模仿的样板,它教会你如何描述一个应用,如何解决实际问题,以及如何从具体案例中总结出共通的经验。

最好的老师在哪里

当你的心中涌起了某种冲动,想动手做点什么的时候,这种无比珍贵的冲动就是你最好的老师,它给了你一个明确的方向,以及内在的动力。冲动之后,你开始思考,甚至跃跃欲试,不过也许会有一丝畏难情绪,因为在那些未曾经历的过程中,会有很多难题需要解决,你甚至会怀疑自己是否有勇气克服它们。于是拖延开始了。别担心,这是我们的通病,我的奶奶曾经教诲我的父亲: “眼是懒蛋,手是好汉!”一旦开始动手,那些看似玄妙的难题,便随着我们孜孜不倦的潜心钻研而一一化解了。

此时此刻,你心中的那些埋藏许久的梦想是否已经苏醒了呢?就让我们从一个简单的梦想开始,踏上充满乐趣与挑战的编程之旅!

目录

  • 推荐序一
  • 推荐序二
  • 前言
  • 第1章 水果配对
  • 第2章 计算器
  • 第3章 九格拼图
  • 第4章 天气预报——基础版
  • 第5章 天气预报——图片版
  • 第6章 打地鼠
  • 第7章 幼儿加法启蒙
  • 第8章 简易家庭账本——登录
  • 第9章 简易家庭账本——导航菜单与收入记录
  • 第10章 简易家庭账本——系统设置
  • 第11章 简易家庭账本——支出记录
  • 第12章 简易家庭账本——收支查询
  • 第13章 简易家庭账本——年度收支汇总
  • 第14章 简易家庭账本——分类汇总及其他
  • 第15章 数学实验室(一):鸡兔同笼
  • 第16章 数学实验室(二):素数问题
  • 第17章 数学实验室(三):公约数与公倍数
  • 第18章 数学实验室(四):绘制函数曲线
  • 第19章 寻找加油站
  • 第20章 贪吃蛇
  • 第21章 因式分解之十字相乘
  • 后记
  • 附录A 开发工具、测试方案与学习资源
  • 附录B 不同的App Inventor汉化版本