基本簡介,圖書目錄,
基本簡介
本書主要以App Inventor作為平台,把抽象的計算思維具體化,把複雜的編程思想形象化,通過積木塊的編程,將計算思維無縫地融入到有趣的App Inventor小項目中,極大地提升學生的學習興趣。通過該課程的學習,學生不僅會大大提高動手能力,而且可以從中獲得巨大的成就感,愛上計算機科學。
全書共分6章,各章節內容由淺入深、相互銜接。前4章為基礎篇,主要介紹App Inventor的開發環境搭建、界面和代碼塊的操作方法、兩個簡單而有趣的入門項目、App Inventor編程基礎、組件;第5章介紹套用調試的方法;第6章是進階篇,介紹了6個綜合項目。全書共提供教學案例近90個。
本書配備了豐富的教學和學習輔助資料,包括課件、教材中項目的原始碼、高清授課視頻、綜合項目源檔案和作業參考源碼檔案等。從2015年開始,這些資料已經通過Google面向全國高校和中學開放,並且每年都在不斷更新完善。
本書依據App Inventor的新版本編寫。全書在全面介紹知識點的同時,也提供多個案例供讀者練習,並將計算思維貫穿其中,內容由易到難,適合不同層次的讀者。本書既可以作為移動開發課程的教學用書,也可以作為手機套用開發者的參考和工具用書。
圖書目錄
第1章 App Inventor入門 1
1.1 App Inventor簡介 1
1.2 App Inventor能做什麼 1
1.2.1 玩 2
1.2.2 建立原型 2
1.2.3 構建個性化套用 2
1.2.4 開發完整的套用 2
1.2.5 教與學 2
1.3 App Inventor開發環境搭建 2
1.3.1 系統要求 2
1.3.2 伺服器地址 3
1.3.3 三種測試套用的方法 3
1.4 App Inventor 2界面 11
1.4.1 項目管理界面 11
1.4.2 組件設計界面 12
1.4.3 邏輯設計界面 13
1.4.4 代碼塊的操作方法 15
1.4.5 Gallery 20
1.5 實驗 22
第2章 創建幾個簡單的項目 23
2.1 案例1:HelloPurr,你好貓貓 23
2.1.1 新建項目 23
2.1.2 界面設計 24
2.1.3 添加組件行為 27
2.1.4 測試套用 28
2.1.5 添加震動效果 29
2.1.6 添加搖晃手機發出貓叫功能 30
2.1.7 打包和下載套用 31
2.2 案例2:8-Ball,魔術8球 32
2.2.1 新建項目 33
2.2.2 界面設計 33
2.2.3 添加組件行為 34
2.2.4 實現“單擊按鈕輸出一個預言”
功能 36
2.2.5 實現“晃動手機輸出一個預言”的
功能 39
2.2.6 打包和下載套用 39
2.3 實驗 39
第3章 App Inventor編程基礎 40
3.1 變數塊(Variables blocks) 40
3.1.1 全局變數的定義和使用 40
3.1.2 局部變數的定義和使用 42
3.1.3 帶有返回值的局部變數塊的使用 43
3.2 控制塊(Control blocks) 43
3.2.1 選擇 44
3.2.2 循環 47
3.2.3 條件返回 50
3.2.4 帶有返回值的執行模組 51
3.2.5 求值但忽視結果 51
3.2.6 打開螢幕 52
3.2.7 打開螢幕並傳值 53
3.2.8 其他控制塊 53
3.3 邏輯塊(Logic blocks) 53
3.4 數學塊(Math blocks) 54
3.5 文本塊(Text blocks) 58
3.6 列表塊(Lists blocks) 63
3.7 顏色塊(Colors blocks) 71
3.8 過程塊(Procedures blocks) 73
3.9 遞歸 74
3.10 組件塊 75
3.11 任意組件塊 75
3.12 項目:一元二次方程求根 75
3.13 實驗 78
第4章 組件 79
4.1 Screen 80
4.2 用戶界面組件(User Interface
components) 81
4.2.1 按鈕(Button) 82
4.2.2 文本輸入框(TextBox) 83
4.2.3 列表顯示框(ListView) 85
4.2.4 日期選擇框(DatePicker) 86
4.2.5 時間選擇框(TimePicker) 88
4.2.6 複選框(CheckBox) 88
4.2.7 標籤(Label) 90
4.2.8 列表選擇框(ListPicker) 90
4.2.9 滑動條(Slider) 92
4.2.10 密碼輸入框(PasswordTextBox) 94
4.2.11 對話框(Notifier) 94
4.2.12 圖像(Image) 97
4.2.13 Web瀏覽框(WebViewer) 97
4.2.14 下拉框(Spinner) 100
4.3 界面布局組件(Layout components) 103
4.3.1 水平布局
(HorizontalArrangement) 103
4.3.2 垂直布局(VerticalArrangement) 104
4.3.3 表格布局(TableArrangement) 105
4.4 多媒體組件(Media components) 105
4.4.1 音效(Sound) 106
4.4.2 音頻播放器(Player) 107
4.4.3 錄音機(SoundRecorder) 111
4.4.4 視頻播放器(VideoPlayer) 114
4.4.5 攝像機(Camcorder) 116
4.4.6 照相機(Camera) 117
4.4.7 圖像選擇框(ImagePicker) 118
4.4.8 文本語音轉換器(TextToSpeech) 121
4.4.9 語音識別器(SpeechRecognizer) 122
4.4.10 Yandex語言翻譯器
(YandexTranslate) 124
4.5 繪圖動畫組件(Drawing and Animation
components) 126
4.5.1 畫布(Canvas) 126
4.5.2 圖像精靈(ImageSprite) 134
4.5.3 球形精靈(Ball) 140
4.6 感測器組件(Sensor components) 145
4.6.1 計時器(Clock) 146
4.6.2 加速度感測器
(AccelerometerSensor) 152
4.6.3 方向感測器(OrientationSensor) 153
4.6.4 位置感測器(LocationSensor) 155
4.6.5 條碼掃描器(BarcodeScanner) 157
4.6.6 近場通信(NFC) 158
4.6.7 近距離感測器
(ProximitySensor) 158
4.6.8 陀螺儀感測器
(GyroscopeSensor) 159
4.7 社交套用組件(Social Components) 160
4.7.1 聯繫人選擇框(ContactPicker) 161
4.7.2 電話號選擇框
(PhoneNumberPicker) 162
4.7.3 電話撥號器(PhoneCall) 163
4.7.4 簡訊收發器(Texting) 164
4.7.5 信箱地址選擇框(EmailPicker) 166
4.7.6 信息分享器(Sharing) 166
4.7.7 推特客戶端(Twitter) 168
4.8 數據存儲組件(Storage) 172
4.8.1 檔案管理器(File) 172
4.8.2 微資料庫(TinyDB) 176
4.8.3 網路微資料庫(TinyWebDB) 179
4.8.4 融合圖表控制組件
(FusiontableControl) 182
4.9 通信連線組件(Connectivity) 182
4.9.1 Activity啟動器(ActivityStarter) 182
4.9.2 Web客戶端(Web) 185
4.9.3 藍牙客戶端(BluetoothClient) 193
4.9.4 藍牙伺服器(BluetoothServer) 195
4.10 樂高機器人?
(LEGO MINDSTORMS) 201
4.10.1 Nxt指令傳送器
(NxtDirectCommands) 202
4.10.2 Nxt電機驅動器(NxtDrive) 204
4.10.3 Nxt顏色感測器
(NxtColorSensor) 205
4.10.4 Nxt光線感測器
(NxtLightSensor) 207
4.10.5 Nxt聲音感測器
(NxtSoundSensor) 208
4.10.6 Nxt接觸感測器
(NxtTouchSensor) 209
4.10.7 Nxt超音波感測器
(NxtUltrasonicSensor) 209
4.11 任意組件(Any component) 210
4.12 項目:貪食球二 213
4.13 實驗 217
第5章 套用調試 218
5.1 程式設計風格 218
5.2 軟體測試 219
5.3 調試套用 221
第6章 進階項目 225
6.1 塗鴉畫板 225
6.2 電子書——唐詩三百首 233
6.3 跌倒求助 240
6.4 天氣預報 242
6.5 智慧型題庫管理 246
6.6 用App Inventor直接控制樂高EV3
機器人 267
參考文獻 272