本書基于Android Studio集成開發(fā)工具,循序漸進地介紹了Android應用程序開發(fā)的基本內(nèi)容。本書共11章,第1章為Android入門概述;第2章~第10章以項目的形式,分別介紹了圖形界面、Activity與Intent、數(shù)據(jù)庫與ContentProvider、數(shù)據(jù)存儲、Service、BroadcastReceiver、多線程、網(wǎng)絡編程和串口編程。其中,大部分項目通過需求分析、界面設計、實施等環(huán)節(jié),逐步引導讀者完成項目操作,同時,在每章的后半部分,講解了對應項目所用到的基本概念與功能,并通過章末的實訓環(huán)節(jié)加深理解;第11章為綜合實訓,旨在通過一個完整的實訓項目鞏固前面所學的知識。本書配有源代碼、電子課件等教學資源,讀者可以登錄華信教育資源網(wǎng)(www.hxedu.com.cn)注冊后免費下載。本書內(nèi)容翔實、語言精練,既可以作為高等院校、高等職業(yè)院校計算機、物聯(lián)網(wǎng)等專業(yè)的教材,也可以作為移動互聯(lián)開發(fā)人員參考用書。
周薇,女,講師,無錫職業(yè)技術(shù)學院物聯(lián)網(wǎng)技術(shù)學院骨干教師。畢業(yè)于陜西師范大學計算機科學教育專業(yè),2010年8月畢業(yè)于江南大學輕工信息技術(shù)與工程專業(yè),獲得工學碩士學位。2000年開始進入無錫職業(yè)技術(shù)學院,主要承擔《數(shù)據(jù)庫原理與應用》、《可視化程序設計》、《Winform數(shù)據(jù)庫應用程序設計》、《Java程序設計》和《Android應用軟件開發(fā)》等課程的教學工作。從2013年以來,一直從事Android應用軟件開發(fā)及Java程序設計類課程的教學,積累了一定的經(jīng)驗。2016年指導學生完成《基于傳感網(wǎng)的多葉植物手持遠程監(jiān)控噴淋系統(tǒng)的研究》,獲得江蘇省優(yōu)秀畢業(yè)設計團體一等獎。同年,主持并完成校級課題《移動互聯(lián)導師制課程》一項。
目 錄
第1章 Android入門概述 1
1.1 Android基本知識 1
1.1.1 Android SDK與API Level對應關(guān)系 1
1.1.2 Android架構(gòu) 2
1.1.3 Android應用程序組件 4
1.2 搭建開發(fā)環(huán)境 6
1.3 HelloAndroid入門項目 7
1.3.1 需求分析 7
1.3.2 實施 8
1.4 Android項目結(jié)構(gòu)分析 15
1.5 Android學習資料 16
1.6 練習題 17
1.7 作業(yè) 17
第2章 圖形界面——計算器項目 18
2.1 需求分析 18
2.2 界面設計 18
2.3 實施 19
2.3.1 創(chuàng)建項目 19
2.3.2 界面實現(xiàn) 19
2.3.3 Java代碼 23
2.3.4 運行測試 24
2.4 界面設計基礎 24
2.4.1 View和ViewGroup 24
2.4.2 基本概念 25
2.4.3 共有屬性 26
2.5 事件處理 29
2.5.1 設置控件的onClick屬性 29
2.5.2 使用匿名類實現(xiàn)監(jiān)聽器接口 30
2.5.3 使用屏幕類實現(xiàn)監(jiān)聽器接口 30
2.6 布局 31
2.6.1 線性布局 31
2.6.2 相對布局 33
2.6.3 其他布局 34
2.7 常用控件 37
2.7.1 文本類控件 37
2.7.2 按鈕類控件 41
2.7.3 選擇類控件 42
2.7.4 提示類控件 49
2.7.5 圖片類控件 51
2.7.6 菜單類控件 52
2.8 調(diào)試技巧 55
2.8.1 Debug 55
2.8.2 LogCat 56
2.8.3 File Explorer 57
2.8.4 ADB工具 58
2.8.5 手機調(diào)試 59
2.9 實訓:完善計算器項目 60
2.10 實訓:實現(xiàn)日期多選功能 60
2.11 實訓:設計用戶注冊的Activity 61
2.12 練習題 62
2.13 作業(yè) 63
第3章 Activity與Intent——運動會報名項目 64
3.1 需求分析 64
3.2 界面設計 64
3.3 系統(tǒng)設計 65
3.3.1 功能設計 65
3.3.2 數(shù)據(jù)保存 66
3.3.3 給SD卡開啟訪問權(quán)限 66
3.4 實施 66
3.4.1 創(chuàng)建項目 66
3.4.2 界面實現(xiàn) 67
3.4.3 Java代碼 73
3.4.4 運行測試 79
3.5 Activity的狀態(tài)與生命周期 80
3.5.1 Activity的狀態(tài) 80
3.5.2 Activity的生命周期 81
3.6 Intent 85
3.6.1 顯式Intent 86
3.6.2 隱式Intent 87
3.6.3 Intent的解析機制 89
3.7 Activity之間傳遞數(shù)據(jù) 89
3.7.1 直接傳遞 89
3.7.2 使用Bundle類 89
3.7.3 返回數(shù)據(jù) 90
3.8 實訓:完善運動會報名項目 90
3.9 練習題 91
3.10 作業(yè) 91
第4章 數(shù)據(jù)庫與ContentProvider——用戶管理項目 92
4.1 需求分析 92
4.2 界面設計 92
4.3 數(shù)據(jù)結(jié)構(gòu)設計 94
4.4 實施 95
4.4.1 創(chuàng)建項目 95
4.4.2 數(shù)據(jù)庫相關(guān)代碼 95
4.4.3 界面實現(xiàn) 97
4.4.4 Java代碼 100
4.5 SQLite數(shù)據(jù)庫管理系統(tǒng) 107
4.5.1 SQLite概述 107
4.5.2 數(shù)據(jù)類型 107
4.5.3 基本操作方法 108
4.5.4 專用操作方法 110
4.5.5 SQLiteOpenHelper 111
4.5.6 SQLite數(shù)據(jù)庫的管理 112
4.6 ContentProvider和ContentResolver 113
4.6.1 概念與功能 113
4.6.2 實例代碼 113
4.7 使用內(nèi)置的ContentProvider 118
4.8 實訓:完善用戶管理項目 119
4.9 實訓:商品選購界面 119
4.10 練習題 122
4.11 作業(yè) 122
第5章 數(shù)據(jù)存儲——簡易相冊項目 124
5.1 需求分析 124
5.2 界面設計 124
5.3 實施 125
5.3.1 創(chuàng)建項目 125
5.3.2 界面實現(xiàn) 125
5.3.3 Java代碼 126
5.3.4 運行測試 130
5.4 數(shù)據(jù)存儲概述 130
5.5 文件存儲 130
5.5.1 資源文件 131
5.5.2 資產(chǎn)文件 131
5.5.3 項目文件 132
5.5.4 外部存儲 132
5.6 共享偏好設置 133
5.7 通知 134
5.8 訪問遠程數(shù)據(jù) 134
5.9 實訓:完善簡易相冊項目 135
5.10 實訓:進一步完善用戶管理項目 135
5.11 練習題 139
5.12 作業(yè) 140
第6章 Service——MP3音樂播放器項目 141
6.1 需求分析 141
6.2 界面設計 142
6.3 實施 142
6.3.1 創(chuàng)建項目 142
6.3.2 界面實現(xiàn) 142
6.3.3 Java代碼 146
6.3.4 注冊 159
6.3.5 SD卡的訪問權(quán)限 159
6.3.6 運行測試 159
6.4 Service 159
6.4.1 Service概述 159
6.4.2 Service的啟動方式 160
6.4.3 生命周期 160
6.5 多媒體 161
6.5.1 音頻 161
6.5.2 視頻 161
6.6 實訓:完善MP3音樂播放器項目 162
6.7 實訓:制作音樂盒項目 162
6.8 實訓:Service練習 164
6.9 練習題 166
6.10 作業(yè) 167
第7章 BroadcastReceiver——短信過濾器項目 168
7.1 需求分析 168
7.2 界面設計 168
7.3 數(shù)據(jù)結(jié)構(gòu)設計 169
7.4 實施 169
7.4.1 創(chuàng)建項目 169
7.4.2 界面實現(xiàn) 169
7.4.3 Java代碼 172
7.4.4 注冊 177
7.4.5 開啟接收短信的權(quán)限 177
7.4.6 運行測試 177
7.5 BroadcastReceiver 179
7.5.1 系統(tǒng)廣播事件 179
7.5.2 自定義廣播事件 180
7.5.3 廣播事件機制 181
7.6 手機通話 181
7.6.1 撥打電話 181
7.6.2 監(jiān)視電話狀態(tài) 184
7.7 手機短信 185
7.7.1 發(fā)送短信 185
7.7.2 接收短信 186
7.8 實訓:完善短信過濾器項目 187
7.9 練習題 187
7.10 作業(yè) 188
第8章 多線程——射擊游戲項目 189
8.1 需求分析 189
8.2 界面設計 189
8.3 實施 190
8.3.1 創(chuàng)建項目 190
8.3.2 界面實現(xiàn) 190
8.3.3 Java代碼 191
8.3.4 運行測試 199
8.4 多線程技術(shù) 199
8.4.1 理解Android多線程 199
8.4.2 主線程和子線程 199
8.4.3 Thread類 200
8.4.4 Handler機制和AsyncTask異步任務類 203
8.5 繪圖技術(shù) 208
8.5.1 Paint類 209
8.5.2 Canvas類 209
8.5.3 SurfaceView類 211
8.6 實訓:改進射擊游戲項目 213
8.7 實訓:多線程技術(shù)的應用——秒表項目 214
8.8 練習題 214
8.9 作業(yè) 215
第9章 嵌入式開發(fā):網(wǎng)絡編程——天氣預報項目 216
9.1 需求分析 216
9.2 界面設計 217
9.3 實施 217
9.3.1 創(chuàng)建項目 217
9.3.2 編寫WebServiceCall類 217
9.3.3 Java代碼 219
9.3.4 運行測試 220
9.4 網(wǎng)絡編程概述 221
9.5 網(wǎng)絡編程綜合項目 221
9.5.1 客戶端界面 222
9.5.2 Socket編程 225
9.5.3 HTTP編程 228
9.5.4 WebService編程 231
9.6 實訓:完善天氣預報項目 235
9.7 實訓:詞典項目 236
9.8 作業(yè) 236
第10章 嵌入式開發(fā):串口編程——讀卡器項目 237
10.1 需求分析 237
10.2 串口介紹 238
10.3 實驗設備 239
10.3.1 硬件設備 239
10.3.2 Friendly ARM Tiny 6410簡介 239
10.3.3 Friendly ARM Tiny 6410的串口編程 240
10.3.4 RFID讀卡器的串口通信協(xié)議 242
10.3.5 串口小助手 244
10.4 實施 245
10.4.1 連接設備 245
10.4.2 實例代碼 245
10.5 實訓:完善讀卡器項目 250
10.6 作業(yè) 250
第11章 綜合實訓——詩詞賞析項目 251
11.1 項目介紹 251
11.1.1 項目概述 251
11.1.2 開發(fā)工具 251
11.1.3 界面設計 251
11.2 需求分析與功能分析 252
11.2.1 需求分析 252
11.2.2 功能分析 252
11.2.3 功能模塊設計 254
11.3 實施 254
11.3.1 數(shù)據(jù)設計 254
11.3.2 界面實現(xiàn) 259
11.3.3 Java代碼 267
11.4 運行測試 277
參考文獻 278