本書是一本基于Android的移動應用開發(fā)教科書,旨在幫助讀者快速學習Android的基本概念,掌握Android的開發(fā)技能。本書分為3篇:Android移動開發(fā)概述、Android基礎編程和Android高級編程。Android移動開發(fā)概述包括第1章~第3章,介紹Android歷史、Android體系結構及特點、其他主要智能手機開發(fā)平臺、IDE Eclipse、Android Studio、Kotlin及搭建Android開發(fā)環(huán)境等。Android基礎編程包括第4章~第7章,介紹Android應用中的基本概念、Android工程結構、用戶界面介紹、Android顏色的基本用法和介紹、基本組件介紹和應用、獲取屏幕屬性、Android 圖形開發(fā)框架、Graphics類、動畫設計、Android中的文件操作、SharedPreferences、SQLite數據庫數據存儲。Android高級編程包括第8章~第12章,介紹Android多媒體編程、Android網絡與通信編程、Android-OpenGL應用開發(fā)、Android傳感器開發(fā)及Android NDK開發(fā)技術等。本書采用代碼驅動式敘述方式,注重代碼的講解。本書既可作為高等學校計算機、物聯網類專業(yè)的移動開發(fā)技術課程的教材,也可作為各類職業(yè)培訓機構的Android培訓教材,還適合作為廣大Android初學者的參考書。
張傳雷,工學博士,副教授,加拿大懷雅遜大學博士后。2000年至2010年,任摩托羅拉(中國)軟件經理、高級工程師等職,有多年的移動終端軟件(APP)產品研發(fā)經驗。2013年10月至今就職于天津科技大學計算機學院。IEEE會員,ACM會員,中國電子學會高級會員。近年來的相應成果已發(fā)表和錄用在國際SCI、EI、國內核心期刊17篇、國際會議10篇。其中,SCI檢索2篇,EI檢索8篇,ISTP檢索2篇。參加信息智能搜索系統、軟件開發(fā)和系統開發(fā)等10項,獲省(部)級科技成果一等獎和科學技術一等獎各1項。擔任學術期刊《Computers in Biology and Medicine》、《Journal Of Scientific And Industrial Research》、《中國礦業(yè)大學學報》、《煤炭學報》及多個國際學術會議論文審稿人。指導學生參與2014年天津市第二屆物聯網大賽獲二等獎。參與《物聯網導論(第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體系結構及特點 7
1.2.1 應用程序 9
1.2.2 中間件 9
1.2.3 硬件抽象層 10
1.2.4 操作系統 10
1.3 其他主要智能手機開發(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ā)基礎 13
2.1 面向對象編程介紹 13
2.2 Android Java基礎 14
2.3 XML基礎 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目錄結構 19
3.1.2 android.jar內部結構 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虛擬設備 25
3.3 DDMS工具 26
3.3.1 DDMS詳細功能 27
3.3.2 DDMS工作原理 27
3.4 第一個Android App 28
3.4.1 創(chuàng)建Hello World App 28
3.4.2 Android工程目錄結構 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基礎編程
第4章 Android App基本概念 37
4.1 Android應用中的基本概念 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工程結構 44
第5章 Android應用用戶界面設計 46
5.1 用戶界面介紹 46
5.1.1 Android基本布局知識 46
5.1.2 View視圖組件 46
5.1.3 ViewGroup視圖容器組件 47
5.1.4 Layout布局組件及其參數 47
5.1.5 界面布局 48
5.1.6 事件處理的簡單介紹 59
5.2 Android顏色的基本用法和介紹 59
5.3 基本組件介紹和應用 64
5.3.1 Widget組件 64
5.3.2 ListView列表 82
5.3.3 Notification狀態(tài)欄提示 85
5.3.4 Toast臨時提示框 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 動畫設計 117
6.3.1 Tween動畫 117
6.3.2 Frame動畫 121
第7章 Android數據存儲編程 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數據庫數據存儲 131
第3篇 Android高級編程
第8章 Android多媒體編程 137
8.1 OpenCore多媒體架構 137
8.2 MediaPlayer編程 139
8.2.1 MediaPlayer主要接口定義 141
8.2.2 播放音樂實現 143
8.2.3 播放視頻實現 149
8.3 MediaRecoder編程 150
8.4 Camera編程 155
第9章 Android網絡與通信編程 160
9.1 HTTP協議原理 160
9.1.1 HTTP簡介 160
9.1.2 HTTP的請求報文 161
9.1.3 HTTP的響應報文 162
9.1.4 HTTP的消息報頭 163
9.2 Android網絡編程基礎 164
9.3 HTTP通信 165
9.3.1 HttpURLConnection接口 166
9.3.2 HttpClient接口 172
9.3.3 實時更新 175
9.4 Socket通信 178
9.4.1 Socket傳輸模式 178
9.4.2 Android Socket編程步驟 180
9.5 Socket應用 182
9.6 WebKit應用 183
9.7 WiFi編程 184
9.8 藍牙編程 185
第10章 AndroidOpenGL應用開發(fā) 187
10.1 AndroidOpenGL ES 187
10.1.1 構建OpenGL基本框架 187
10.1.2 OpenGL視圖顯示 188
10.2 OpenGL的三維坐標基礎 189
10.3 多邊形的繪制及其顏色渲染 189
10.4 圖像旋轉 193
10.5 3D三維實體空間 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應用 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ā)技術 216
12.1 NDK環(huán)境的搭建 216
12.2 新建NDK工程 216
參考文獻 219