本書是一本基于Android的移動應(yīng)用開發(fā)教科書,旨在幫助讀者快速學(xué)習(xí)Android的基本概念,掌握Android的開發(fā)技能。本書分為3篇:Android移動開發(fā)概述、Android基礎(chǔ)編程和Android高級編程。Android移動開發(fā)概述包括第1章~第3章,介紹Android歷史、Android體系結(jié)構(gòu)及特點(diǎn)、其他主要智能手機(jī)開發(fā)平臺、IDE Eclipse、Android Studio、Kotlin及搭建Android開發(fā)環(huán)境等。Android基礎(chǔ)編程包括第4章~第7章,介紹Android應(yīng)用中的基本概念、Android工程結(jié)構(gòu)、用戶界面介紹、Android顏色的基本用法和介紹、基本組件介紹和應(yīng)用、獲取屏幕屬性、Android 圖形開發(fā)框架、Graphics類、動畫設(shè)計(jì)、Android中的文件操作、SharedPreferences、SQLite數(shù)據(jù)庫數(shù)據(jù)存儲。Android高級編程包括第8章~第12章,介紹Android多媒體編程、Android網(wǎng)絡(luò)與通信編程、Android-OpenGL應(yīng)用開發(fā)、Android傳感器開發(fā)及Android NDK開發(fā)技術(shù)等。本書采用代碼驅(qū)動式敘述方式,注重代碼的講解。本書既可作為高等學(xué)校計(jì)算機(jī)、物聯(lián)網(wǎng)類專業(yè)的移動開發(fā)技術(shù)課程的教材,也可作為各類職業(yè)培訓(xùn)機(jī)構(gòu)的Android培訓(xùn)教材,還適合作為廣大Android初學(xué)者的參考書。
張傳雷,工學(xué)博士,副教授,加拿大懷雅遜大學(xué)博士后。2000年至2010年,任摩托羅拉(中國)軟件經(jīng)理、高級工程師等職,有多年的移動終端軟件(APP)產(chǎn)品研發(fā)經(jīng)驗(yàn)。2013年10月至今就職于天津科技大學(xué)計(jì)算機(jī)學(xué)院。IEEE會員,ACM會員,中國電子學(xué)會高級會員。近年來的相應(yīng)成果已發(fā)表和錄用在國際SCI、EI、國內(nèi)核心期刊17篇、國際會議10篇。其中,SCI檢索2篇,EI檢索8篇,ISTP檢索2篇。參加信息智能搜索系統(tǒng)、軟件開發(fā)和系統(tǒng)開發(fā)等10項(xiàng),獲省(部)級科技成果一等獎(jiǎng)和科學(xué)技術(shù)一等獎(jiǎng)各1項(xiàng)。擔(dān)任學(xué)術(shù)期刊《Computers in Biology and Medicine》、《Journal Of Scientific And Industrial Research》、《中國礦業(yè)大學(xué)學(xué)報(bào)》、《煤炭學(xué)報(bào)》及多個(gè)國際學(xué)術(shù)會議論文審稿人。指導(dǎo)學(xué)生參與2014年天津市第二屆物聯(lián)網(wǎng)大賽獲二等獎(jiǎng)。參與《物聯(lián)網(wǎng)導(dǎo)論(第2版)》教材編寫。
第1篇 Android移動開發(fā)概述
第1章 Android簡介 3
1.1 Android歷史 3
1.1.1 Android簡要介紹 3
1.1.2 Android發(fā)展歷史 3
1.1.3 Android版本升級 4
1.2 Android體系結(jié)構(gòu)及特點(diǎn) 7
1.2.1 應(yīng)用程序 9
1.2.2 中間件 9
1.2.3 硬件抽象層 10
1.2.4 操作系統(tǒng) 10
1.3 其他主要智能手機(jī)開發(fā)平臺 10
1.3.1 iOS簡介 10
1.3.2 Windows CE簡介 11
1.3.3 Symbian簡介 11
1.3.4 Palm OS簡介 12
第2章 Android開發(fā)基礎(chǔ) 13
2.1 面向?qū)ο缶幊探榻B 13
2.2 Android Java基礎(chǔ) 14
2.3 XML基礎(chǔ) 15
2.4 IDE Eclipse介紹 16
2.5 Android Studio介紹 16
2.6 Kotlin介紹 17
第3章 搭建Android開發(fā)環(huán)境 19
3.1 Android SDK介紹 19
3.1.1 Android SDK目錄結(jié)構(gòu) 19
3.1.2 android.jar內(nèi)部結(jié)構(gòu) 20
3.1.3 android.bat批處理常用命令 21
3.1.4 模擬SD卡 22
3.1.5 Traceview工具 22
3.1.6 ADB工具 23
3.2 搭建開發(fā)環(huán)境 24
3.2.1 安裝JDK 24
3.2.2 安裝Android Studio 24
3.2.3 創(chuàng)建Android虛擬設(shè)備 25
3.3 DDMS工具 26
3.3.1 DDMS詳細(xì)功能 27
3.3.2 DDMS工作原理 27
3.4 第一個(gè)Android App 28
3.4.1 創(chuàng)建Hello World App 28
3.4.2 Android工程目錄結(jié)構(gòu) 31
3.4.3 Android程序部署與啟動 32
3.4.4 Android程序打包安裝過程 32
3.5 NDK開發(fā)工具 33
3.5.1 NDK下載 34
3.5.2 NDK開發(fā) 34
第2篇 Android基礎(chǔ)編程
第4章 Android App基本概念 37
4.1 Android應(yīng)用中的基本概念 37
4.1.1 Activity 37
4.1.2 Intent 41
4.1.3 Service 41
4.1.4 Broadcast 42
4.1.5 Binder 42
4.1.6 Permission 42
4.1.7 Manifest 43
4.2 Android工程結(jié)構(gòu) 44
第5章 Android應(yīng)用用戶界面設(shè)計(jì) 46
5.1 用戶界面介紹 46
5.1.1 Android基本布局知識 46
5.1.2 View視圖組件 46
5.1.3 ViewGroup視圖容器組件 47
5.1.4 Layout布局組件及其參數(shù) 47
5.1.5 界面布局 48
5.1.6 事件處理的簡單介紹 59
5.2 Android顏色的基本用法和介紹 59
5.3 基本組件介紹和應(yīng)用 64
5.3.1 Widget組件 64
5.3.2 ListView列表 82
5.3.3 Notification狀態(tài)欄提示 85
5.3.4 Toast臨時(shí)提示框 88
5.3.5 Dialog對話框 89
5.4 獲取屏幕屬性 92
第6章 Android圖形編程 94
6.1 Android圖形開發(fā)框架 94
6.1.1 View類開發(fā)框架 94
6.1.2 SurfaceView類開發(fā)框架 95
6.2 Graphics 類 97
6.2.1 android.graphics.Color類 97
6.2.2 android.graphics.Paint類 97
6.2.3 繪制幾何圖形 98
6.2.4 android.graphics.Canvas類 98
6.2.5 繪制字符串 103
6.2.6 android.graphics.Bitmap類 105
6.2.7 Shade類 115
6.3 動畫設(shè)計(jì) 117
6.3.1 Tween動畫 117
6.3.2 Frame動畫 121
第7章 Android數(shù)據(jù)存儲編程 122
7.1 Android中的文件操作 122
7.1.1 File類及常用方法 122
7.1.2 文件I/O 124
7.2 SharedPreferences 127
7.2.1 獲取SharedPreferences的句柄 127
7.2.2 寫入共享文件 128
7.2.3 讀取共享文件 128
7.3 SQLite數(shù)據(jù)庫數(shù)據(jù)存儲 131
第3篇 Android高級編程
第8章 Android多媒體編程 137
8.1 OpenCore多媒體架構(gòu) 137
8.2 MediaPlayer編程 139
8.2.1 MediaPlayer主要接口定義 141
8.2.2 播放音樂實(shí)現(xiàn) 143
8.2.3 播放視頻實(shí)現(xiàn) 149
8.3 MediaRecoder編程 150
8.4 Camera編程 155
第9章 Android網(wǎng)絡(luò)與通信編程 160
9.1 HTTP協(xié)議原理 160
9.1.1 HTTP簡介 160
9.1.2 HTTP的請求報(bào)文 161
9.1.3 HTTP的響應(yīng)報(bào)文 162
9.1.4 HTTP的消息報(bào)頭 163
9.2 Android網(wǎng)絡(luò)編程基礎(chǔ) 164
9.3 HTTP通信 165
9.3.1 HttpURLConnection接口 166
9.3.2 HttpClient接口 172
9.3.3 實(shí)時(shí)更新 175
9.4 Socket通信 178
9.4.1 Socket傳輸模式 178
9.4.2 Android Socket編程步驟 180
9.5 Socket應(yīng)用 182
9.6 WebKit應(yīng)用 183
9.7 WiFi編程 184
9.8 藍(lán)牙編程 185
第10章 AndroidOpenGL應(yīng)用開發(fā) 187
10.1 AndroidOpenGL ES 187
10.1.1 構(gòu)建OpenGL基本框架 187
10.1.2 OpenGL視圖顯示 188
10.2 OpenGL的三維坐標(biāo)基礎(chǔ) 189
10.3 多邊形的繪制及其顏色渲染 189
10.4 圖像旋轉(zhuǎn) 193
10.5 3D三維實(shí)體空間 194
10.6 映射紋理 197
10.7 光照與單擊事件 201
第11章 Android傳感器開發(fā) 208
11.1 傳感器種類 208
11.1.1 GPS 208
11.1.2 動作傳感器 208
11.1.3 位置傳感器 209
11.1.4 環(huán)境傳感器 209
11.2 GPS應(yīng)用 209
11.2.1 我的位置 209
11.2.2 更新位置 210
11.2.3 地圖功能 212
11.3 Acceleration傳感器 213
11.4 Gyroscope傳感器 214
11.5 Proximity傳感器 214
第12章 Android NDK開發(fā)技術(shù) 216
12.1 NDK環(huán)境的搭建 216
12.2 新建NDK工程 216
參考文獻(xiàn) 219