內容簡介
本書由淺入深地介紹可視化編程工具AppInventor的基本內容,然後一步步指導讀者搭建13個有趣的項目,包括一個簡訊回復套用、一個測驗題套用和一個可以定位停車位置的套用。本書的後半部分可以看作開發者指南,幫助讀者了解應用程式開發和計算機科學的基本知識。
圖書目錄
序 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
第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
作者簡介
David Wolber,舊金山大學教授
Hal Abelson,麻省理工學院電子工程與計算機科學系教授
Ellen Spertus,米爾斯大學計算機科學副教授,谷歌公司傑出科學家
Liz Looney,谷歌公司高級軟體工程師,機器人工作小組成員
金從軍 大學主修物理學,做過大學教師、IT創業者、渠道總監、程式設計師、開發項目經理、培訓教師等,是Adobe公司的認證工程師及培訓師;曾編寫教材並翻譯過計算機語言相關的書籍及技術資料,主要譯著包括《自然計算:DNA、量子比特和智慧型機器的未來》《項目管理新思維:互動產業啟示錄》等;愛好遊戲與編程;於2014年春創辦17coding.net網站,開展與App Inventor相關的教學及技術諮詢工作,在新浪部落格等社交媒體上以“老巫婆”的名義發表了多篇關與App Inventor有關的技術文章。