猜你喜欢
App Inventor开发训练营

App Inventor开发训练营

书籍作者:金从军 ISBN:9787115489555
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:1153
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

App Inventor的出现大大降低了编程门槛,没有程序设计经验的编程爱好者可以在短时间内就创建出炫目的安卓手机应用。本书带领读者通过动手实践数个编程实例来了解程序开发的逻辑。书中内容共分为21章,包含15个完整的应用,覆盖了游戏、教学、工具、信息管理以及网络应用等。本书不仅详细介绍了应用开发的步骤和要点,还针对每种应用的特征给出了进一步优化的建议,忠实还原了应用开发过程中遇到的问题和解决方法,是一本不可多得的编程技术与理念并重的实践指南。

作者简介

金从军:一个半路出家的程序员,用物理的方法解读事物,用数学的方法描述事物,用程序的方法模拟事物,醉心于将抽象的思想外化为有形的工具,以工具为教具,实现自我学习。

编辑推荐
适读人群 :本书适合对编程感兴趣的非专业程序员读者,尤其适合青少年作为程序设计入门读物。

“软件编程不单单是编程技巧的训练,还需要建立一种世界观、价值观,这些对中小学生来说是极其重要的课程,但是现在的教学体系中恰恰缺少这些训练,因此本书的出现恰逢其时。”


——孔华威,中科院计算所上海分所所长,上海张江科技创业投资有限公司首席科学家,起点创投合伙人


“金从军老师对推动国内的App Inventor编程起了重要的作用。本书汇集了她近些年来研究AI编程的心得,是中小学教师研究计算思维的重要参考资料,也是青少年学习编程不可多得的入门教材。”


——谢作如,温州中学高级教师,中国电子学会创客教育专家委员会主任


● 为什么要学习编程?


随着信息技术的飞速发展,编程也从一门计算机专业人员所掌握的技术,演变为信息时代所需的生存技能之一。学习应用开发只是一方面,真正重要的是,通过学习编程,锻炼动手动脑的能力。


● 何时可以开始学习编程?


本书的观点是,学习编程只需具备两个条件:会使用“如果……则……否则……”造句;会运用四则运算解简单的应用题。也就是说,小学高年级学生就可以开始学习编程了。


● 编程会不会很难?


本书采用可视化编程工具App Inventor,用“拼图”的方式轻松构建Android应用,大大降低了编程的门槛。书中实例均为中文项目,步骤清晰详细,讲解通俗易懂。


● 这本书能教会我什么?


本书包含15个完整的应用,覆盖了游戏、教学、工具、信息管理以及网络应用等,十分贴近日常生活。通过学习本书,读者能够在构建应用、排查错误、深入优化的过程中训练编程思维,并锻炼在现实生活中发现问题、思考问题、解决问题的能力。


拿起本书,加入App Inventor开发训练营,动手开发出自己的Android应用吧!

目录

第1章 水果配对 1

1.1 游戏描述 1

1.2 界面设计 2

1.2.1 界面布局 2

1.2.2 组件属性设置 3

1.2.3 上传资源文件 3

1.3 编写程序——屏幕初始化 4

1.3.1 创建按钮列表 4

1.3.2 让按钮显示背面图案 5

1.3.3 创建图片列表 7

1.3.4 为按钮指定正面图案 7

1.3.5 随机显示正面图案 9

1.4 编写程序——处理按钮点击事件 11

1.4.1 流程图 11

1.4.2 判断两个按钮图案的异同 12

1.4.3 处理两个按钮图案相同的情况 13

1.4.4 处理两个按钮图案不同的情况 14

1.4.5 代码的复用——改进按钮点击事件处理程序 14

1.4.6 代码的规整 16

1.4.7 改造闪现计时器的计时事件处理程序 17

1.4.8 测试 17

1.5 编写程序——控制游戏时长 21

1.5.1 控制游戏时长 21

1.5.2 显示剩余时间 21

1.5.3 将剩余时间计入总成绩 22

1.6 编写程序——设计游戏结尾 22

1.6.1 显示游戏得分 22

1.6.2 保存游戏得分 24

1.6.3 处理对话框的按钮选择 25

1.6.4 创建游戏初始化过程 25

1.7 程序的测试与修正 26

1.7.1 选取列表项错误 26

1.7.2 重新开始游戏时点击按钮无响应 29

1.7.3 重新开始游戏时图案排列不变 30

1.7.4 快速点击按钮时系统提示错误 31

1.8 代码整理 32

第2章 计算器 35

2.1 功能描述 35

2.1.1 符号及术语 35

2.1.2 具体功能 36

2.2 用户界面设计 36

2.3 编写程序——实现常规操作 37

2.3.1 输入数字 37

2.3.2 点击算符 38

2.3.3 点击等号 39

2.3.4 代码测试及说明 40

2.4 编写程序——实现连续运算 40

2.4.1 代码修改 40

2.4.2 测试及代码修正 40

2.5 编写程序——实现小数输入 41

2.5.1 编写按钮点击程序 41

2.5.2 代码测试及程序修正 42

2.6 编写程序——实现辅助功能 43

2.6.1 求相反数 43

2.6.2 删除末尾数字 43

2.6.3 清除后数 44

2.6.4 清除全部信息 44

2.7 代码回顾 44

2.7.1 要素关系图 44

2.7.2 关键环节的状态分析 44

第3章 九格拼图 46

3.1 游戏描述 46

3.2 界面设计 47

3.2.1 界面布局 47

3.2.2 资源文件规格 48

3.3 难点分析 49

3.3.1 程序的主流程 49

3.3.2 术语解释 49

3.3.3 难点分析 51

3.4 编写程序——初始化 52

3.4.1 初始化全局变量 52

3.4.2 初始化组件属性 55

3.4.3 屏幕初始化事件处理程序 55

3.4.4 跟踪程序的执行过程 56

3.5 编写程序——移动碎片 56

3.6 编写程序——判断拼图是否成功 59

3.7 编写程序——计算游戏得分 60

3.7.1 统计游戏耗时 60

3.7.2 统计碎片移动次数 60

3.7.3 计算游戏得分 60

3.8 编写程序——游戏结束 61

3.8.1 提取历史记录 61

3.8.2 更新历史记录 62

3.8.3 处理对话框的完成选择事件 63

3.8.4 添加重新开始按钮 64

3.9 代码整理 64

3.9.1 代码清单 64

3.9.2 要素关系图 65

第4章 天气预报——基础版 67

4.1 功能描述 67

4.2 预备知识 68

4.2.1 Web API简介 68

4.2.2 HTTP协议 69

4.2.3 Web客户端组件 72

4.2.4 JSON数据简介 73

4.2.5 将JSON数据转为列表数据 74

4.2.6 App Inventor处理键值对列表 75

4.3 请求数据 76

4.3.1 用户界面设计 76

4.3.2 请求数据 77

4.3.3 将数据保存为文件 79

4.4 数据结构分析 80

4.4.1 城市信息 81

4.4.2 七日预报 81

4.4.3 小时预报 82

4.4.4 生活指数 83

4.4.5 天气实况 83

4.4.6 数据状态 83

4.4.7 数据更新时间 84

4.5 呈现一组简单的数据——城市信息 84

4.5.1 提取分类信息 84

4.5.2 显示单项信息 85

4.5.3 规范信息的显示格式 86

4.6 选择显示各类信息 87

4.6.1 基础数据准备 87

4.6.2 显示分类信息 90

4.7 程序的改进 95

4.7.1 判断请求数据的结果 95

4.7.2 为数据添加单位 95

4.7.3 显示当前数据类型 96

第5章 天气预报——图片版 98

5.1 功能描述 98

5.2 用户界面设计 98

5.2.1 页面布局 98

5.2.2 添加并设置组件 100

5.3 编写程序——请求并整理数据 101

5.3.1 请求数据 101

5.3.2 数据整理 102

5.4 呈现有图标的数据——七日天气预报 106

5.4.1 设置用户界面组件的可视属性 106

5.4.2 图标文件的获取 107

5.4.3 图标的呈现 107

5.4.4 显示文字信息 110

5.5 显示其他种类信息 113

5.5.1 显示城市基本信息 113

5.5.2 显示生活指数信息 114

5.5.3 显示天气实况信息 116

5.5.4 显示小时预报 118

5.6 其他功能 120

5.6.1 选择显示分类信息 121

5.6.2 默认设置与数据保存 121

5.7 功能完善与小结 123

5.7.1 诊断网络连接 123

5.7.2 项目小结 123

第6章 打地鼠 125

6.1 游戏描述 125

6.2 素材准备 126

6.3 界面设计 126

6.4 编写程序——地鼠的闪现 127

6.4.1 难点分析 128

6.4.2 编写代码 128

6.5 编写程序——命中地鼠与得分 131

6.5.1 显示击打次数 131

6.5.2 命中地鼠 131

6.6 编写程序——时间控制与游戏结束 132

6.6.1 显示游戏剩余时间 132

6.6.2 编写游戏结束程序 134

6.6.3 回应用户的选择 135

6.7 代码整理 136

第7章 幼儿加法启蒙 138

7.1 功能描述 138

7.2 素材准备 139

7.2.1 素材清单 139

7.2.2 素材规格 140

7.3 技术要点 140

7.3.1 用图片组件显示数字 140

7.3.2 用画布组件绘制图形 140

7.3.3 用随机数合成颜色 140

7.3.4 用计时器组件控制应用的节奏 140

7.4 界面设计 140

7.5 编写程序——应用初始化 143

7.5.1 按钮初始化 143

7.5.2 动态设置屏幕的标题属性 144

7.5.3 动态组件初始化 144

7.5.4 出题并显示题目 145

7.5.5 测试 145

7.6 编写程序——题目图示 145

7.6.1 画圆遇到的问题 146

7.6.2 绘制数量合适的彩色圆形 147

7.6.3 添加加号 147

7.6.4 阶段测试 148

7.7 编写程序——答题 148

7.7.1 显示输入的数值 149

7.7.2 清除错误答案 150

7.7.3 判断对错 150

7.7.4 显示下一题 151

7.7.5 禁用选择时长功能 152

7.7.6 隐藏图示 153

7.7.7 阶段测试 153

7.8 编写程序——时间控制及得分 153

7.8.1 控制练习时长 153

7.8.2 计算并显示得分 154

7.8.3 选择练习时长 154

7.9 编写程序——游戏结束与重新开始 155

7.9.1 提取、显示及保存历史记录 155

7.9.2 处理用户选择 156

7.9.3 最终测试 157

7.10 代码整理 157

7.10.1 代码清单 157

7.10.2 要素关系图 158

第8章 简易家庭账本——登录 160

8.1 概念解释 160

8.1.1 什么是应用 160

8.1.2 什么是数据库 161

8.2 App Inventor中的数据库组件 163

8.2.1 数据的组织 163

8.2.2 新增数据项(记录) 164

8.2.3 数据的查询 165

8.2.4 删除数据项 166

8.2.5 修改数据项 167

8.2.6 数据的请求与保存 167

8.3 家庭账本应用的功能模块设置 168

8.4 登录页面的功能描述 169

8.4.1 预设选项功能 169

8.4.2 密码保护功能 170

8.5 数据模型 170

8.5.1 对象模型 170

8.5.2 变量模型 171

8.5.3 列表的文本表示 171

8.5.4 登录页面的数据模型 171

8.5.5 界面设计 172

8.6 页面逻辑 174

8.6.1 加载保存预设选 174

8.6.2 密码设置 174

8.6.3 登录功能 174

8.7 编写程序 175

8.7.1 屏幕初始化 175

8.7.2 文件管理器收到文本 175

8.7.3 开始按钮点击程序 177

8.8 测试 177

8.9 附录:代码背包功能简介 178

第9章 简易家庭账本——导航菜单与收入记录 179

9.1 导航菜单屏幕 179

9.1.1 数据模型 179

9.1.2 界面设计 179

9.1.3 页面逻辑 180

9.1.4 编写程序 180

9.1.5 测试 181

9.2 收入记录的功能描述 182

9.3 收入记录的数据模型 182

9.3.1 对象模型 182

9.3.2 变量模型 183

9.3.3 预设项列表 184

9.4 界面设计 184

9.5 页面逻辑 185

9.6 编写程序 187

9.6.1 发现过程 187

9.6.2 屏幕初始化 188

9.6.3 新增数据 189

9.6.4 修改数据 190

9.6.5 删除数据 193

9.6.6 永久保存数据 193

9.6.7 返回主菜单 194

9.7 测试与改进 195

9.8 附录:计时器组件中的时间信息 197

9.8.1 什么是时间点 197

9.8.2 设置日期格式 198

9.8.3 创建毫秒时间点 199

第10章 简易家庭账本——系统设置 200

10.1 功能描述 200

10.2 数据模型 201

10.2.1 支出二级分类 201

10.2.2 支出专项 202

10.2.3 家庭成员与支付方式 202

10.2.4 重置密码 202

10.3 界面设计 202

10.3.1 页面布局 202

10.3.2 组件属性设置 203

10.4 界面逻辑 204

10.4.1 屏幕初始化 204

10.4.2 设置预设项 204

10.4.3 重置密码 205

10.4.4 恢复默认设置 205

10.5 编写程序——选择设置项 205

10.5.1 屏幕初始化 205

10.5.2 设置组件的显示与隐藏 206

10.5.3 原始数据的绑定 207

10.5.4 组件初始化 208

10.5.5 设置选择框的完成选择事件 208

10.6 设置支出二级分类 208

10.6.1 选择支出一级分类 208

10.6.2 修改二级分类 209

10.6.3 删除二级分类 210

10.6.4 新增二级分类 210

10.6.5 测试 211

10.7 设置支出专项 212

10.7.1 选中某个支出专项 213

10.7.2 新增与修改 213

10.7.3 删除 216

10.7.4 测试 217

10.7.5 测试中的问题 218

10.8 设置家庭成员及支付方式 220

10.8.1 选择设置项 220

10.8.2 新增与修改简单项 220

10.8.3 删除简单项 221

10.8.4 测试 222

10.9 完善新增与修改功能 223

10.10 其他设置及返回主菜单 224

10.10.1 密码重置 224

10.10.2 恢复默认设置 225

10.10.3 返回主菜单 226

第11章 简易家庭账本——支出记录 227

11.1 功能描述 227

11.2 数据模型 228

11.2.1 对象模型 228

11.2.2 变量模型 229

11.2.3 预设项列表 230

11.3 界面设计 230

11.4 界面逻辑 231

11.5 编写程序 233

11.5.1 编写过程 233

11.5.2 屏幕初始化 236

11.5.3 选择一级分类 237

11.5.4 新增及修改支出记录 237

11.5.5 选择已输入项及删除选中项 238

11.5.6 输入信息的永久保存 238

11.5.7 返回主菜单 239

11.6 测试与改进 239

11.6.1 屏幕初始化 240

11.6.2 新增支出记录 241

11.6.3 修改及删除 241

11.6.4 保存与返回 242

11.6.5 改进 242

第12章 简易家庭账本——收支查询 244

12.1 功能描述 244

12.1.1 收入查询 244

12.1.2 支出查询 245

12.2 数据模型 245

12.2.1 对象模型 245

12.2.2 动态变量模型 246

12.3 界面设计 247

12.4 技术准备——绘制动态表格 248

12.4.1 表格的属性 249

12.4.2 绘制单页数据表格 251

12.4.3 绘制多页表格 254

12.4.4 选中一行数据 257

12.4.5 选中行的闪烁效果 257

12.4.6 显示页码 260

12.5 界面逻辑 261

12.6 编写程序——声明全局变量并创建过程 263

12.6.1 名副其实的变量 263

12.6.2 不变的变量 264

12.6.3 可以充当变量的过程——有返回值的过程 264

12.6.4 改变世界的过程——无返回值过程 269

12.7 编写程序——事件处理 272

12.7.1 屏幕初始化 272

12.7.2 日期选择事件 273

12.7.3 筛选条件选择程序 273

12.7.4 主筛选项选择程序 274

12.7.5 查询按钮点击程序 274

12.7.6 划屏翻页事件 274

12.7.7 选中单行数据程序 275

12.7.8 与删除单行数据相关的程序 275

12.7.9 数据导出 277

12.7.10 批量删除 277

12.7.11 返回主菜单 278

12.8 测试与改进 278

12.8.1 收入查询测试 278

12.8.2 支出查询测试 282

12.8.3 功能改进——提供操作反馈 289

第13章 简易家庭账本——年度收支汇总 292

13.1 功能描述 292

13.2 数据模型 293

13.2.1 表格数据 293

13.2.2 折线图数据 294

13.2.3 全局变量 295

13.3 技术准备——绘制折线图 296

13.3.1 绘制坐标轴 297

13.3.2 绘制图例 298

13.3.3 写标注文字 299

13.3.4 绘制折线图 301

13.4 用户界面设计 303

13.5 页面逻辑 304

13.5.1 屏幕初始化 304

13.5.2 选中汇总项目 305

13.5.3 数据筛选与汇总 305

13.5.4 返回主菜单 305

13.6 编写程序——创建过程 305

13.6.1 可以充当变量的过程——有返回值过程 305

13.6.2 与绘图相关的过程——无返回值过程 308

13.7 编写程序——事件处理程序 312

13.7.1 屏幕初始化 312

13.7.2 汇总按钮点击程序 313

13.7.3 汇总项目选择程序 313

13.7.4 返回按钮点击程序 314

13.8 测试与改进 314

13.8.1 测试 314

13.8.2 改进 315

第14章 简易家庭账本——分类汇总及其他 318

14.1 技术准备——绘制饼状图 319

14.1.1 数据模型 319

14.1.2 绘图方法 320

14.2 年度收入分类汇总 324

14.2.1 数据模型 324

14.2.2 页面逻辑 325

14.2.3 编写代码——过程与事件处理程序 325

14.3 年度个人收入汇总 331

14.4 年度支出分类汇总 333

14.5 年度专项支出汇总 336

14.6 月度收入、支出分类汇总 338

14.7 使用手册 341

14.7.1 用户界面设计 341

14.7.2 编辑并上传HTML 文档 342

14.7.3 测试 342

14.8 开发心得及改进思路 343

14.8.1 开发心得 343

14.8.2 改进方法及思路 346

第15章 数学实验室(一):鸡兔同笼 350


第16章 数学实验室(二):素数问题 358


第17章 数学实验室(三):公约数与公倍数 363


第18章 数学实验室(四):绘制函数曲线 373


第19章 寻找加油站 392


第20章 贪吃蛇 416


第21章 因式分解之十字相乘 432


后记 461

附录A 开发工具、测试方案与学习资源 462

附录B 不同的App Inventor汉化版本 468


标签
未资源,图灵
产品特色