本書共兩個部分,分別介紹移動計算理論和移動應用開發(fā)技術。在移動計算理論部分,主要介紹移動計算的基本概念、移動計算環(huán)境的要素、移動終端的發(fā)展、無線網(wǎng)絡技術,以及無線定位技術。在移動應用開發(fā)技術部分,介紹基于Android操作系統(tǒng)的移動應用開發(fā),主要包括界面開發(fā)、資源管理、數(shù)據(jù)存取、消息與服務、感知與多媒體,以及操作系統(tǒng)與通信。此外,本書還給出Android開發(fā)的命名規(guī)范,介紹常用的開發(fā)工具ADB和SQLite3。最后,本書還提供5個移動應用實驗供讀者練習。
本書共兩個部分,分別介紹移動計算理論和移動應用開發(fā)技術。
1.在移動計算理論部分,主要介紹移動計算的基本概念、移動計算環(huán)境的要素、移動終端的發(fā)展、無線網(wǎng)絡技術,以及無線定位技術。
2.在移動應用開發(fā)技術部分,介紹基于Android操作系統(tǒng)的移動應用開發(fā),主要包括界面開發(fā)、資源管理、數(shù)據(jù)存取、消息與服務、感知與多媒體,以及操作系統(tǒng)與通信。
此外,本書還給出Android開發(fā)的命名規(guī)范,介紹常用的開發(fā)工具ADB和SQLite3。最后,本書還提供5個移動應用實驗供讀者練習。
朱大勇,博士,電子科技大學信息與軟件工程學院副教授,長期從事移動應用相關的開發(fā)與教學工作。 參加編寫軟件工程系列規(guī)劃教材《軟件開發(fā)技術》,承擔學校教改項目兩項,分別是:《移動式教學與自組織學習》和《大規(guī)模在線開放課程建設項目-移動計算及開發(fā)技術》。 參加青年教師出國(境)行動計劃學校全額資助,赴加拿大滑鐵盧大學留學 1年,開展統(tǒng)計推斷與機器學習的研究工作。參與國家自然科學基金項目《多項式系統(tǒng)控制器參數(shù)化的符號計算方法》,承擔《移動通訊基站動力及環(huán)境監(jiān)控系統(tǒng)關鍵技術研究》,《速遞易平臺值守短信調(diào)度系統(tǒng)》,《面向3G的下一代手機智能搜索技術研發(fā)與應用》等項目的研究與開發(fā)。在《軟件學報》、《電子科技大學學報》、《智能系統(tǒng)學報》以及IEEE國際會議發(fā)表多篇論文。
第1章 概述
1.1 移動計算環(huán)境 3
1.1.1 信息傳輸方式的變遷 4
1.1.2 計算模式 5
1.1.3 移動計算的概念和特點 7
1.1.4 移動應用 8
1.2 移動計算的三要素 8
1.2.1 信息 9
1.2.2 信號 11
1.2.3 信道 15
1.3 移動終端 18
1.3.1 硬件 18
1.3.2 軟件 22
1.4 本章小結(jié) 25
1.5 習題 25
第2章 無線網(wǎng)絡技術
2.1 無線信道 26
2.1.1 信道特性 26
2.1.2 資源共享 30
2.2 個域網(wǎng) 32
2.2.1 聲波通信 33
2.2.2 藍牙通信 35
2.2.3 其他近距離通信 36
2.3 局域網(wǎng) 40
2.3.1 Wi-Fi 41
2.3.2 無線傳感器網(wǎng)絡 44
2.3.3 無線自組織網(wǎng)絡 52
2.4 廣域網(wǎng) 59
2.4.1 蜂窩網(wǎng)絡 59
2.4.2 遠程通信問題 61
2.5 移動IP 64
2.5.1 通信方式 65
2.5.2 三角路由 67
2.6 本章小結(jié) 68
2.7 習題 68
第3章 無線定位技術
3.1 衛(wèi)星定位系統(tǒng) 70
3.2 定位原理 72
3.2.1 衛(wèi)星定位 72
3.2.2 定位方法 75
3.2.3 測距定位 76
3.3 位置服務 79
3.3.1 AGPS定位 79
3.3.2 基站定位 79
3.3.3 RSSI定位 80
3.3.4 Wi-Fi定位 81
3.4 室內(nèi)定位 81
3.5 非測距定位 84
3.5.1 質(zhì)心定位算法 85
3.5.2 DV-Hop定位算法 86
3.5.3 APIT定位算法 88
3.6 本章小結(jié) 89
3.7 習題 90
第二部分 移動應用開發(fā)技術
第4章 移動開發(fā)環(huán)境
4.1 搭建開發(fā)環(huán)境 93
4.2 創(chuàng)建應用項目 93
4.2.1 創(chuàng)建Android應用項目 94
4.2.2 項目信息 94
4.2.3 項目構(gòu)建工具 96
4.2.4 配置SDK和創(chuàng)建模擬器 98
4.3 使用項目工具 100
4.3.1 Android Studio中的快捷鍵 100
4.3.2 任務管理功能 101
4.3.3 日志工具 101
4.4 管理應用權限 103
4.5 本章小結(jié) 106
4.6 習題 106
第5章 界面開發(fā)
5.1 界面設計 107
5.1.1 布局與交互 108
5.1.2 界面設計模式 110
5.1.3 活動配置 111
5.2 界面組件——活動 112
5.2.1 任務與返回!112
5.2.2 活動的生命周期 114
5.2.3 活動的啟動模式 116
5.3 事件處理機制 119
5.3.1 采用監(jiān)聽處理方式 119
5.3.2 采用回調(diào)處理方式 121
5.4 視圖組件結(jié)構(gòu) 123
5.5 界面布局管理 124
5.5.1 線性布局 125
5.5.2 相對布局 126
5.5.3 幀布局 127
5.5.4 表格布局 128
5.5.5 網(wǎng)格布局 129
5.6 消息傳輸組件——Intent 129
5.6.1 顯式Intent 130
5.6.2 隱式Intent 131
5.6.3 Intent過濾器 132
5.6.4 Intent傳遞數(shù)據(jù) 135
5.6.5 傳遞自定義數(shù)據(jù) 137
5.7 列表控件 139
5.7.1 ListView控件 139
5.7.2 RecyclerView控件 146
5.8 界面模塊——碎片 149
5.8.1 添加碎片的方式 150
5.8.2 碎片的生命周期 152
5.8.3 兼容不同終端的界面 152
5.9 視圖翻頁控件——
ViewPager 159
5.9.1 滑動頁面 160
5.9.2 頁面適配器 161
5.9.3 滑動動畫 162
5.10 本章小結(jié) 163
5.11 習題 163
第6章 資源管理
6.1 資源類別與訪問 166
6.1.1 資源訪問方法 167
6.1.2 常用資源 168
6.2 樣式與主題 169
6.2.1 樣式 169
6.2.2 主題 170
6.3 可繪制的資源 171
6.3.1 ShapeDrawable 171
6.3.2 StateListDrawable 171
6.3.3 LayerListDrawable 172
6.4 資源打包管理 172
6.5 本章小結(jié) 174
6.6 習題 174
第7章 數(shù)據(jù)存取
7.1 文件操作 175
7.1.1 保存數(shù)據(jù)到文件 176
7.1.2 從文件中讀取數(shù)據(jù) 176
7.1.3 內(nèi)部存儲和外部存儲 178
7.2 SharedPreferences 180
7.3 SQLite數(shù)據(jù)庫 182
7.3.1 SQLite數(shù)據(jù)庫的幫助類 183
7.3.2 查看數(shù)據(jù)庫 184
7.3.3 數(shù)據(jù)庫基本功能 185
7.4 內(nèi)容共享組件 187
7.4.1 內(nèi)容解析器 188
7.4.2 內(nèi)容提供器 189
7.5 數(shù)據(jù)解析方式 195
7.5.1 解析XML數(shù)據(jù) 195
7.5.2 解析JSON數(shù)據(jù) 200
7.6 本章小結(jié) 202
7.7 習題 202
第8章 消息與服務
8.1 廣播機制 203
8.1.1 廣播消息注冊方式 204
8.1.2 監(jiān)聽網(wǎng)絡狀態(tài) 205
8.1.3 廣播消息發(fā)布方式 206
8.2 通知管理 208
8.2.1 PendingIntent 208
8.2.2 不同的通知方式 210
8.3 異步消息處理機制 210
8.3.1 創(chuàng)建線程的方法 210
8.3.2 線程與界面交互 211
8.3.3 Handler運行機制 212
8.4 異步任務 213
8.5 后臺服務處理 215
8.5.1 創(chuàng)建后臺運行的服務 215
8.5.2 服務啟動方式 216
8.5.3 前臺運行的服務 217
8.5.4 IntentService 218
8.6 本章小結(jié) 219
8.7 習題 219
第9章 感知與多媒體
9.1 傳感器的使用 220
9.1.1 獲取傳感器 221
9.1.2 采集數(shù)據(jù) 222
9.2 定位功能 223
9.3 實現(xiàn)音頻播放功能 225
9.3.1 音頻播放方式 225
9.3.2 音樂播放器 225
9.4 實現(xiàn)視頻播放功能 232
9.5 實現(xiàn)攝像頭拍照功能 233
9.6 質(zhì)感界面設計 235
9.6.1 質(zhì)感設計 236
9.6.2 自定義標題欄 237
9.6.3 滑動菜單 239
9.7 本章小結(jié) 245
9.8 習題 245
第10章 操作系統(tǒng)與通信
10.1 Android操作系統(tǒng)的架構(gòu) 247
10.2 Android操作系統(tǒng)的進程間通信 250
10.3 Binder 251
10.3.1 Binder機制 252
10.3.2 Binder的結(jié)構(gòu) 252
10.3.3 Binder的工作模式 254
10.4 通信接口描述語言 255
10.4.1 服務器 255
10.4.2 服務類 258
10.4.3 客戶端 259
10.5 Bundle 263
10.6 本章小結(jié) 264
10.7 習題 264
附錄
附錄A 實驗 265
實驗一 搭建實驗環(huán)境 265
實驗二 設計和實現(xiàn)移動客戶端界面 267
實驗三 移動端數(shù)據(jù)存取 269
實驗四 廣播與通知 270
實驗五 移動應用的信息獲取 270
附錄B 命名規(guī)范 271
附錄C Android應用調(diào)試工具 272
附錄D SQLite3命令行工具 273
參考文獻