序 xv
前言 xvii
第一部分 App Inventor 2 教程
第1章 你好貓咪 2
1.1 學習要點 2
1.2 App Inventor的開發環境 3
1.3 設計組件 4
1.3.1 創建一個標簽 6
1.3.2 添加按鈕組件 7
1.3.3 添加貓叫聲 8
1.4 實時測試 8
1.5 為組件添加行為 9
1.5.1 讓貓發齣叫聲 10
1.5.2 添加振動效果 12
1.5.3 搖晃設備 14
1.6 將應用下載到安卓設備中 14
1.7 應用的分享 15
1.8 改進建議 16
1.9 小結 16
第2章 油漆桶 17
2.1 學習要點 18
2.2 準備開始 18
2.3 設計組件 18
2.3.1 創建顔色按鈕 19
2.3.2 使用布局組件改善布局 19
2.3.3 添加畫布 20
2.3.4 添加底部按鈕及照相機組件 21
2.4 為組件添加行為 22
2.4.1 在觸摸事件中畫圓 23
2.4.2 在拖動事件中畫綫 25
2.4.3 改變顔色 26
2.4.4 讓用戶拍照片 27
2.4.5 改變畫筆的大小 28
2.4.6 使用變量 29
2.4.7 修改變量的值 29
2.5 完整的“油漆桶”應用 30
2.6 改進 31
2.7 小結 31
第3章 打地鼠 32
3.1 作品描述 33
3.2 學習要點 33
3.3 準備開始 33
3.4 設計組件 33
3.4.1 設置行為組件 34
3.4.2 設置標簽組件 35
3.5 為組件添加行為 36
3.5.1 移動地鼠 36
3.5.2 創建移動地鼠過程 37
3.6 在應用啓動時調用移動地鼠過程 38
3.6.1 每秒鍾調用一次移動地鼠過程 39
3.6.2 記錄成績 39
3.6.3 過程抽象 40
3.6.4 重置分數 40
3.6.5 碰到地鼠引起振動 41
3.7 完整的“打地鼠”應用 41
3.8 改進 42
3.9 小結 42
第4章 開車不發短信 44
4.1 學習要點 45
4.2 準備開始 45
4.3 設計組件 45
4.4 為組件添加行為 47
4.4.1 短信的自動迴復 47
4.4.2 編寫自定義迴復內容 48
4.4.3 永久保存自定義迴復內容 49
4.4.4 應用啓動時讀取自定義短信 50
4.4.5 大聲讀齣收到的短信 51
4.4.6 在自動迴復中加入位置信息 53
4.4.7 發送帶有位置信息的迴復短信 54
4.5 完整的“開車不發短信”應用 55
4.6 改進 55
4.7 小結 56
第5章 瓢蟲快跑 57
5.1 作品描述 57
5.2 學習要點 58
5.3 設計組件 58
5.3.1 準備開始 58
5.3.2 設置第一批組件 59
5.4 為組件添加行為 60
5.4.1 移動瓢蟲 60
5.4.2 顯示生命值 61
5.4.3 瓢蟲因飢餓而死 64
5.4.4 添加蚜蟲 64
5.4.5 讓瓢蟲吃掉蚜蟲 65
5.4.6 瓢蟲與蚜蟲之間的碰撞檢測 66
5.4.7 蚜蟲的迴歸 67
5.4.8 添加重新開始按鈕 67
5.4.9 添加青蛙 68
5.4.10 瓢蟲的迴歸 69
5.4.11 添加音效 70
5.5 完整的“瓢蟲快跑”應用 70
5.6 改進 72
5.7 小結 72
第6章 巴黎地圖旅遊 73
6.1 學習要點 73
6.2 設計組件 74
6.3 設置活動啓動器組件的屬性 75
6.4 為組件添加行為 75
6.4.1 創建目的地列錶 76
6.4.2 讓用戶選擇一個目的地 76
6.4.3 使用搜索網址打開地圖 77
6.5 完整的應用:用活動啓動器實現的地圖旅遊 78
6.5.1 用Web 瀏覽框實現的虛擬旅遊 78
6.5.2 找到特定地圖的URL 79
6.5.3 定義網址列錶 79
6.5.4 修改列錶選擇框的完成選擇行為 80
6.6 完整的“巴黎地圖旅遊”應用(Web 瀏覽框版) 81
6.7 改進 81
6.8 小結 82
第7章 安卓,我的車在哪兒 83
7.1 學習要點 83
7.2 準備開始 84
7.3 設計組件 84
7.4 為組件添加行為 85
7.4.1 顯示當前位置 86
7.4.2 記錄當前位置 87
7.4.3 指示記錄位置的方嚮 88
7.4.4 永久保存已記錄的位置信息 89
7.4.5 啓動應用時提取已記錄的位置信息 90
7.5 完整的“安卓,我的車在哪兒?”應用 92
7.6 改進 93
7.7 小結 93
第8章 總統問答 94
8.1 學習要點 94
8.2 準備開始 95
8.3 設計組件 95
8.4 為組件添加行為 96
8.4.1 定義問題及答案列錶 96
8.4.2 定義索引值變量 97
8.4.3 顯示第一個問題 97
8.4.4 遍曆所有問題 98
8.4.5 讓程序易於修改 100
8.4.6 為問題匹配圖片 101
8.4.7 判斷答案對錯 103
8.5 完整的“總統問答”應用 105
8.6 改進 106
8.7 小結 107
第9章 木琴 108
9.1 作品描述 108
9.2 學習要點 108
9.3 準備開始 109
9.4 設計組件 109
9.5 創建鍵盤 109
9.5.1 創建兩個音符按鈕 109
9.5.2 添加音效播放器組件 110
9.5.3 在按鈕與聲音之間建立關聯 110
9.5.4 命令安卓加載聲音 112
9.5.5 實現其餘的音符 113
9.6 記錄並迴放音符 114
9.6.1 添加組件 115
9.6.2 記錄音符及時間 115
9.6.3 迴放音符 117
9.6.4 迴放適當延遲的音符 118
9.7 完整的“木琴”應用 119
9.8 改進 120
9.9 小結 121
第10章 齣題與答題 123
10.1 學習要點 124
10.2 準備開始 124
10.3 設計組件 124
10.4 為組件添加行為 126
10.4.1 創建空列錶 126
10.4.2 記錄用戶的輸入 127
10.4.3 清空問題及答案 127
10.4.4 用多行文本顯示問題及答案 128
10.4.5 調用顯示問題及答案過程 129
10.4.6 將數據永久保存到網絡數據庫中 130
10.4.7 從數據庫加載數據 131
10.5 完整的“齣題”應用 132
10.6 “答題”應用:從數據庫中讀取試題 134
10.7 完整的“答題”應用 135
10.8 改進 137
10.9 小結 137
第11章 廣播中心 138
11.1 學習要點 139
11.2 準備開始 139
11.3 設計組件 139
11.4 為組件添加行為 140
11.4.1 迴應收到的短信 141
11.4.2 接納申請人加入廣播列錶 142
11.4.3 廣播消息 143
11.4.4 美化列錶的顯示 145
11.4.5 記錄廣播過的短信 146
11.4.6 將廣播列錶保存到數據庫中 147
11.4.7 從數據庫中加載廣播列錶 148
11.5 完整的“廣播中心”應用 149
11.6 改進 150
11.7 小結 151
第12章 遙控機器人 152
12.1 學習要點 153
12.2 準備開始 153
12.3 設計組件 154
12.3.1 非可視組件 154
12.3.2 可視組件 155
12.4 為組件添加行為 156
12.4.1 連接到機器人 156
12.4.2 顯示機器人列錶 156
12.4.3 建立藍牙連接 157
12.4.4 與機器人斷開連接 158
12.4.5 操控機器人 159
12.4.6 用超聲波傳感器探測障礙物 161
12.5 改進 162
12.6 小結 162
第13章 亞馬遜掌上書店 163
13.1 學習要點 164
13.2 什麼是API 164
13.3 準備開始 166
13.4 設計組件 166
13.5 設計行為 168
13.5.1 搜索關鍵字 168
13.5.2 按ISBN 搜索 169
13.5.3 消除用戶的睏惑 170
13.5.4 掃描條碼 170
13.5.5 改進信息的呈現方式 171
13.6 完整的“亞馬遜掌上書店”應用 173
13.7 定製化API 174
13.8 改進 175
13.9 小結 175
第二部分 Inventor 指南
第14章 理解應用的結構 178
14.1 組件 179
14.2 行為 179
14.3 應用如食譜 179
14.4 應用是一組事件處理程序 180
14.5 事件類型 181
14.5.1 用戶引發的事件 181
14.5.2 初始化事件 182
14.5.3 計時器事件 182
14.5.4 動畫事件 182
14.5.5 外部事件 183
14.6 在事件處理程序中設置問題 183
14.7 在事件處理程中重復執行指令 184
14.8 事件處理程序可以實現存儲功能 184
14.9 事件處理程序可以與網絡對話 185
14.10 小結 185
第15章 軟件工程與應用測試 186
15.1 軟件工程原則 186
15.2 解決真實的問題 187
15.3 嚮用戶展示原型産品 187
15.4 漸進式開發 187
15.5 先設計,後編碼 188
15.6 對代碼進行注釋 188
15.7 切割,分解,各個擊破 189
15.8 理解編程語言:用紙筆跟蹤記錄 189
15.9 應用的調試 192
15.9.1 監視變量 192
15.9.2 測試單一代碼塊 193
15.9.3 單步執行支持漸進式開發 193
15.9.4 啓用與禁用塊 194
15.10 小結 194
第16章 應用的存儲 195
16.1 被命名的存儲空間 195
16.2 屬性 195
16.3 定義變量 196
16.4 變量的設置與讀取 197
16.5 設變量為錶達式 198
16.6 變量的遞增 198
16.7 構造復雜的錶達式 199
16.8 顯示變量 199
16.9 局部變量 200
16.10 小結 200
第17章 創建動畫應用 201
17.1 在應用中添加畫布組件 201
17.2 畫布的坐標係統 201
17.3 用計時事件製作動畫 203
17.4 産生運動 203
17.5 控製速度 204
17.6 碰撞檢測 204
17.7 碰到邊界 204
17.8 碰撞事件與分離事件 205
17.9 交互動畫 206
17.10 設置精靈的非計時器動畫 207
17.11 小結 208
第18章 程序中的決策 209
18.1 條件判斷 210
18.2 非此即彼的條件判斷 211
18.3 多重條件判斷 212
18.4 復雜條件判斷 212
18.5 小結 215
第19章 數據列錶編程 216
19.1 創建列錶變量 217
19.2 選擇列錶項 217
19.3 使用索引值遍曆列錶 218
19.4 舉例:遍曆顔色列錶 218
19.5 創建輸入錶單及動態數據 220
19.5.1 定義動態列錶 220
19.5.2 添加數據項 220
19.5.3 顯示列錶 221
19.5.4 刪除列錶項 222
19.6 列錶中的列錶 223
19.7 小結 225
第20章 循環 226
20.1 控製程序的執行:分支及循環 226
20.2 遍曆列錶循環 227
20.3 近距離觀察循環 228
20.4 代碼的可維護性 228
20.5 顯示列錶 229
20.6 條件循環 230
20.7 條件循環應用舉例:公式計算 231
20.8 小結 232
第21章 定義過程與代碼復用 233
21.1 消除冗餘 234
21.2 定義過程 236
21.3 調用過程 236
21.4 程序計數器 237
21.5 為過程添加參數 237
21.6 過程的返迴值 239
21.7 跨應用的代碼復用 241
21.8 求兩點間距離 241
21.9 小結 243
第22章 數據庫 244
22.1 數據在本地的永久保存 245
22.2 從本地數據庫提取數據 246
22.3 網絡數據庫及數據共享 246
22.3.1 用網絡數據庫組件保存數據 247
22.3.2 請求數據及數據處理 248
22.3.3 請求- 獲得聯動機製 249
22.3.4 復雜的請求- 獲得聯動舉例 250
22.4 多標記同時請求數據 252
22.5 設置專屬的網絡數據庫 253
22.6 小結 254
第23章 傳感器 255
23.1 創建位置感知應用 255
23.1.1 GPS 256
23.1.2 App Inventor 與位置感知 257
23.1.3 邊界檢查 258
23.1.4 位置信息的來源:GPS、Wi-Fi 以及基站標識 259
23.2 方嚮傳感器 259
23.2.1 用翻轉角移動物體 260
23.2.2 控製運動的方嚮及速度 261
23.2.3 手機用作指南針 262
23.3 加速度傳感器 262
23.3.1 響應設備的搖晃 263
23.3.2 使用加速度傳感器的讀數 263
23.3.3 檢測自由落體 263
23.4 小結 264
第24章 網絡通信 265
24.1 Web 瀏覽框組件 267
24.2 Web 客戶端組件 268
24.3 網絡數據庫組件及其兼容API 270
24.4 小結 270
關於作者 271
· · · · · · (
收起)