目 錄
第2版前言
第1版前言
軟件篇
第1章 Android體系結構及開發(fā)環(huán)境 / 2
1.1 Android體系結構介紹 / 2
1.1.1 應用程序 / 3
1.1.2 應用程序框架 / 3
1.1.3 函數庫 / 4
1.1.4 Linux內核 / 4
1.2 搭建Windows下的開發(fā)環(huán)境 / 5
1.2.1 安裝JDK / 5
1.2.2 安裝Eclipse / 6
1.2.3 安裝ADT / 6
1.2.4 安裝SDK / 7
1.2.5 創(chuàng)建Android虛擬設備 / 9
1.3 搭建Linux下的開發(fā)環(huán)境 / 11
1.3.1 安裝JDK / 11
1.3.2 安裝Eclipse / 12
1.3.3 安裝ADT / 13
1.3.4 安裝SDK / 15
1.3.5 創(chuàng)建Android虛擬設備 / 17
1.4 搭建NDK開發(fā)環(huán)境 / 20
1.4.1 NDK開發(fā)環(huán)境與安裝目錄 / 20
1.4.2 系統(tǒng)和軟件需求 / 20
1.4.3 Windows 平臺NDK環(huán)境搭建 / 21
1.4.4 Linux平臺NDK環(huán)境搭建 / 25
第2章 Android應用程序開發(fā) / 28
2.1 第一個HelloEveryone / 28
2.1.1 創(chuàng)建第一個Android項目HelloEveryone / 28
2.1.2 Android應用工程組成 / 29
2.2 Android應用程序組成 / 31
2.2.1 Activity組件 / 31
2.2.2 Intent組件 / 36
2.2.3?Broadcast Receiver組件 / 39
2.2.4 Service組件 / 39
2.2.5 Content Provider組件 / 39
2.3 使用AndroidManifest文件定義應用程序 / 40
2.3.1 管理應用程序身份 / 42
2.3.2 注冊Activity和其他應用程序組件 / 42
2.3.3 使用許可權限 / 44設備和軟件 / 45
2.3.5 使用庫和Android SDK版本 / 46
2.3.6 定義應用程序的其他配置參數 / 46
2.4?常用Widget控件介紹 / 47
2.4.1?用Widget控件創(chuàng)建Android項目 / 47
2.4.2?按鈕 / 48
2.4.3?文字框 / 50
2.4.4?編輯框 / 51
2.4.5?多項選擇框 / 52
2.4.6?單項選擇框 / 54
2.4.7?下拉列表 / 55
2.4.8?自動完成文本 / 56
2.4.9?日期、時間選擇器 / 58
2.4.10?進度條 / 60
2.4.11?拖動條 / 61
2.4.12?圖片視圖 / 62
2.4.13?基于網格索引的圖片瀏覽器 / 63
2.4.14?選項卡 / 66
2.4.15?列表 / 67
2.4.16?圖片按鈕 / 69
2.4.17?拖動效果 / 70
2.4.18?對話框實例 / 72
2.5 界面布局 / 75
2.5.1 線性布局 / 75
2.5.2 框架布局 / 77
2.5.3 表格布局 / 78
2.5.4 相對布局 / 80
2.5.5 絕對布局 / 81
2.5.6 網格布局 / 82
2.6 菜單 / 84
2.6.1 菜單資源 / 84
2.6.2 選項菜單 / 85
2.6.3 子菜單 / 87
2.6.4 快捷菜單 / 89
2.7 事件處理 / 91
2.7.1 Android的事件處理概述 / 91
2.7.2 基于監(jiān)聽的事件處理 / 91
2.7.3 基于回調的事件處理 / 94
2.7.4 響應的系統(tǒng)設置的事件 / 97
2.7.5 Handler消息傳遞機制 / 101
第3章 SQLite數據庫程序開發(fā) / 103
3.1 SQLite簡介 / 103
3.1.1 SQLite體系結構 / 103
3.1.2 數據庫基礎 / 104
3.1.3 SQLite語句及語法 / 104
3.1.4 數據庫包 / 107
3.1.5 SQLiteDatabase類 / 109
3.2 SQLite連接 / 111
3.2.1 開始構建 / 112
3.2.2 數據庫基本操作 / 114
3.2.3 數據庫與UI連接 / 120
3.3 數據共享 / 122
3.3.1 Content Provider實現數據共享 / 123
3.3.2 創(chuàng)建Content Provider / 125
3.3.3 使用CRUD基本函數 / 127
3.3.4 注冊與使用Content Provider / 130
3.4 基于SQLite數據庫的日記賬工具 / 135
硬件篇
第4章 Android系統(tǒng)移植 / 152
4.1 Android 結構介紹 / 152
4.2 Android 內核結構和設備驅動 / 153
4.2.1 Android 內核源代碼結構 / 153
4.2.2 Android 常用設備驅動 / 155
4.3 Android 內核基本配置 / 161
4.3.1 Android內核中的Kconf?ig文件 / 162
4.3.2 Android內核配置選項 / 162
4.4 Android 內核編譯 / 165
4.4.1 Android內核中的Makef?ile文件 / 166
4.4.2 解壓Android 內核源代碼 / 167
4.4.3 編譯Android 內核 / 167
4.5 DMA-210XP平臺Android文件系統(tǒng)燒寫 / 168
4.5.1 燒寫u-boot到Nand F?lash / 168
4.5.2 燒寫zImage內核映像文件 / 171
4.5.3 燒寫ramdisk-uboot.img映像文件 / 172
4.5.4 燒寫Android System.img文件 / 172
4.5.5 燒寫Android userdata.img文件 / 173
4.5.6 啟動Android系統(tǒng) / 173
4.5.7 TF卡自動更新kernel和Android系統(tǒng)文件 / 174
第5章 系統(tǒng)硬件與驅動程序 / 175
5.1 Android硬件抽象層(HAL) / 175
5.1.1 內核硬件驅動程序 / 175
5.1.2 增加C硬件驅動程序 / 184
5.1.3 接口硬件驅動程序 / 185
5.1.4 JNI硬件驅動程序 / 189
5.2 GPIO接口及驅動程序 / 191
5.2.1 GPIO接口 / 191
5.2.2 LED接口電路 / 199
5.2.3 LED驅動程序設計 / 199
5.2.4 LED程序測試 / 214
5.3 PWM定時器及驅動程序 / 215
5.3.1 PWM定時器 / 215
5.3.2 背光接口電路 / 221
5.3.3 背光驅動程序設計 / 224
5.3.4 背光程序測試 / 232
5.4 ADC接口及驅動程序 / 232
5.4.1 ADC轉換器 / 232
5.4.2 ADC接口電路 / 239
5.4.3 ADC驅動程序設計 / 239
5.4.4 ADC程序測試 / 244
5.5 鍵盤接口及驅動程序 / 245
5.5.1 鍵盤掃描原理 / 245
5.5.2 矩陣鍵盤硬件原理圖 / 246
5.5.3 鍵盤驅動程序設計 / 250
5.5.4 鍵盤程序測試 / 259
第6章 外設接口與驅動程序 / 261
6.1 UART串行接口及通信程序 / 261
6.1.1 UART簡介 / 261
6.1.2 UART接口及操作 / 271
6.1.3 UART通信程序設計 / 272
6.1.4 UART程序測試 / 285
6.2 IIC總線接口及驅動程序 / 286
6.2.1 IIC總線簡介 / 286
6.2.2 在Linux內核中添加IIC設備 / 291
6.2.3 IIC驅動程序設計 / 291
6.3 藍牙接口及驅動程序 / 302
6.3.1 藍牙簡介 / 302
6.3.2 Android系統(tǒng)下的藍牙架構 / 304
6.3.3 藍牙驅動程序設計 / 305
6.3.4 藍牙程序測試 / 312
6.4 Wi-Fi接口及通信程序 / 313
6.4.1 Wi-Fi介紹 / 313
6.4.2 Wi-Fi程序設計 / 316
6.4.3 Wi-Fi程序測試 / 323
6.5 MediaPlayer播放器程序 / 324
6.5.1 MediaPlayer簡介 / 324
6.5.2 MediaPlayer的界面與架構 / 325
6.5.3 MediaPlayer播放器程序設計 / 327
6.5.4 MediaPlayer程序測試 / 335
6.6 Camera 拍照及攝影程序 / 336
6.6.1 Camera簡介 / 336
6.6.2 Android 系統(tǒng)的Camera / 337
6.6.3 Camera拍照程序設計 / 338
6.6.4 Camera程序測試 / 343
項目篇
第7章?Android界面與IO設計工具 / 346
7.1 Android界面與IO設計工具介紹 / 346
7.2 Android界面與IO設計工具結構 / 346
7.3 Android界面與IO設計工具界面設計 / 348
7.3.1 界面設計 / 348
7.3.2 界面內容添加 / 348
7.4 Android界面與IO設計工具功能選擇區(qū)設計 / 356
7.4.1 界面設計 / 356
7.4.2 IO設計 / 369
7.4.3?數據庫設計 / 371
7.5 Android界面與IO設計工具輔助功能區(qū)設計 / 376
7.6 Android界面與IO設計工具程序生成區(qū)設計 / 377
7.6.1 Android界面與IO設計工具程序生成區(qū)功能介紹 / 377
7.6.2 Android界面與IO設計工具程序生成區(qū)的代碼實現 / 378
第8章 GPS與Google Map定位系統(tǒng) / 392
8.1 MyMap服務系統(tǒng) / 392
8.2 Android Google Map / 393
8.2.1 申請Google Map Android API Key / 393
8.2.2 編寫Google Map框架程序 / 394
8.2.3 控制地圖 / 396
8.2.4 地圖的顯示模式 / 398
8.2.5 地圖的圖層 / 401
8.2.6 查詢與定位 / 403
8.3 Android定位服務 / 409
8.3.1 開啟定位服務 / 409
8.3.2 模擬測試 / 411
8.3.3 GPS與Google Map定位 / 413
8.4 案例重構 / 414
8.4.1 地圖的顯示模式 / 414
8.4.2 重構“查詢方法” / 417
第9章 Android圖書管理系統(tǒng) / 420
9.1 系統(tǒng)功能設計 / 420
9.2 系統(tǒng)開發(fā)環(huán)境 / 420
9.3 數據庫設計 / 421
9.4 圖書管理系統(tǒng)學生端開發(fā) / 424
9.4.1 登錄界面 / 424
9.4.2 查詢界面 / 425
9.4.3 學生預約管理 / 431
9.4.4 掛失管理 / 433
9.5 圖書管理系統(tǒng)管理端開發(fā) / 434
9.5.1 登錄界面 / 434
9.5.2 圖書管理 / 438
9.5.3 學生信息管理 / 439
9.5.4 管理員管理 / 441
9.5.5 借閱預約圖書 / 443
9.5.6 繳納罰款 / 446
參考文獻 / 450