圖書簡介
本書循序漸進地介紹Android程式開發技術。全書共分為17章,深入分析Android的核心知識,並通過豐富、典型的案例,從實踐的角度展示如何更好地使迎凳灑用Android開發手機應用程式。
目錄
第1章Android概述 1
1.1什麼是Android 2
1.1.1移動信息設備分類 2
1.1.2OpenHandsetAlliance
和Android 3
1.2Android簡介 5
1.2.1Android的歷史 5
1.2.2Android的版本介紹 6
1.2.3Android的未來 8
1.3Android平台的技術架構 9
1.4.1活動(Activity) 11
1.4.2廣播(Broadcast) 11
1.4.3服務(Service) 11
1.4.4內容提供器(ContentProvider) 12
1.5Android的網上資源 12
1.6本章習題請促紙希 13
第2章Android開發環境與開發工具 15
2.1Java開發組件的安裝和配置 16
2.1.1安裝Java開發工具包 17
2.1.2配置Java開發組件 18
2.2軟體開發組件的下載和安裝 20
2.2.1下載Android軟體開發
工具包 20
2.2.2安裝Android軟體開發
工具包 21
2.3使用AndroidSDK開發Android
應悼才鑽碑用 23
2.3.1AndroidSDK的目錄結構櫃甩槳 23
2.3.2使用戀犁阿AndroidSDK文檔 24
2.3.3AndroidSDK中的示例 24
2.3.4使用AndroidSDK命令行 25
2.3.5使用Android模擬器 26
2.4Eclipse的下載和安裝 28
2.4.1下載Eclipse 29
2.4.2安裝Eclipse 29
2.4.3安裝和配置Android外掛程式
(ADT) 30
2.5使用Eclipse開發Android套用 34
2.5.1使用Eclipse創建Android
項目 34
2.5.2Eclipse中Android項目架構 35
2.5.3Eclipse中Android項目的調試
和運行 36
2.5.4創建一個Android套用:
WelcomeAndroid 37
2.6Android常用的開發工具 39
2.6.1配置工具(AVD) 39
2.6.2Android仿真器(Emulator) 39
2.6.3圖形化調試工具(DDMS) 40
2.6.4命令行調試工具(ADB) 43
2.6.5資源打包工具(AAPT) 45
2.6.6獲取日誌工具(LogCat) 47
2.6.7視圖層次工具(HierarchyViewer) 47
2.7上機實訓 49
2.8本章習題 49
第3章Android編程基礎 51
3.1語言要素 52
3.1.1注釋 52
3.1.2標識符 56
3.1.3分隔設定 57
3.1.4關鍵講提囑字 58
3.2數據類型 58
3.2.1基本數據類型 59
3.2.2引用數據類型 60
3.3運算符和表達式 61
3.3.4位運算符 65
3.3.6其他運算符 67
3.3.7表達式與語句 68
3.4控制語句 68
3.4.1選擇控制語句 68
3.4.2循環控制語句 70
3.4.3轉移控制語句 71
3.5數組 72
3.5.1靜態數組 72
3.5.2動態數組 72
3.6字元串 74
3.6.1字元串的定義 74
3.6.2常用的字元串方法 74
3.7類和對象 76
3.7.1類和對象的概念與定義 76
3.7.2成員變數和方法 77
3.7.3創建對象 78
3.7.4構造函式 78
3.8繼承 79
3.8.1繼承的道嬸實現 79
3.8.2成員變數的隱藏和方法的
重寫 80
3.8.3關鍵字super 80
3.9多態 81
3.10上機實訓 82
3.11本章習題 83
第4章AndroidGUI開發 85
4.1用戶人機界面元素分類 86
4.1.1視圖組件(View) 86
4.1.2視圖容器組件(ViewGroup) 86
4.1.3布局組件(Layout) 87
4.1.4布局參數(LayoutParams) 88
4.2常用widget組件 88
4.2.1文本框視圖(TextView) 88
4.2.2按鈕(Button) 92
4.2.3圖片按鈕(ImageButton) 93
4.2.4編輯框(EditText) 95
4.2.5多項選擇(CheckBox) 98
4.2.6單項選擇(RadioGroup) 101
4.2.7下拉列表(Spinner) 101
4.2.8自動完成文本
(AutoCompleteTextView) 103
4.2.9日期選擇器(DatePicker) 104
4.2.10時間選擇器(TimePicker) 107
4.2.11數字時鐘(DigitalClock) 109
4.2.12表狀時鐘(AnalogClock) 110
4.2.13進度條(ProgressBar) 113
4.2.14拖動條(SeekBar) 114
4.2.15評分組件(RatingBar) 117
4.3視圖組件 120
4.3.1圖片視圖(ImageView) 121
4.3.2滾動視圖(ScrollView) 129
4.3.3格線視圖(GridView) 134
4.3.4列表視圖(ListView) 134
4.4選單(Menu) 135
4.4.1
上下文選單(ContextMenu) 135
4.4.2選項選單(OptionsMenu) 138
4.4.3基於XML的選單結構 140
4.5界面布局 141
4.5.1線性布局(LinearLayout) 142
4.5.2相對布局(RelativeLayout) 144
4.5.3表格布局(TableLayout) 144
4.5.4絕對布局(AbsoluteLayout) 145
4.6上機實訓 147
4.7本章習題 147
第5章Android編程基礎 149
5.1Activity的生命周期和棧管理機制 150
5.1.1Activity生命周期 150
5.1.2Activity棧管理機制 151
5.2解析Activity的實現 152
5.2.1創建Activity 153
5.2.2啟動另外一個Activity 155
5.2.3Activity的啟動模式 157
5.2.4設定Activity許可 160
5.3多個Activity套用 163
5.3.1Activity間的訊息傳遞 163
5.3.2多Activity的Android套用 165
5.4上機實訓 169
5.5本章習題 169
第6章AndroidService組件 171
6.1Service的作用 172
6.2解析Service的實現 173
6.2.1創建Service 173
6.2.2綁定一個已經存在的
Service 174
6.2.3Service的生命周期 175
6.3遠程Service調用 180
6.3.1創建一個AIDL檔案 181
6.3.2實現AIDL檔案生成的Java
接口 184
6.3.3客戶端調用 184
6.4系統服務 186
6.5上機實訓 187
6.6本章習題 187
第7章Android桌面組件 189
7.1捷徑 190
7.1.1顯示捷徑到桌面 190
7.1.2添加捷徑到捷徑
列表 191
7.2Widget開發 193
7.2.1Widget介紹 193
7.2.2在桌面上添加Widget 194
7.2.3Widget的開發流程 195
7.2.4Widget的開發實例 196
7.3上機實訓 204
7.4本章習題 204
第8章Android程式間的通信 205
8.1Intent 206
8.1.1Intent介紹 206
8.1.2Intent的啟動機制 208
8.1.3常用IntentAction 211
8.2Broadcast中的Intent 212
8.2.1傳送廣播Intent 212
8.2.2接受廣播Intent 214
8.3套用實例詳解:電話撥號程式 217
8.3.1實例分析 218
8.3.2實例實現 218
8.4上機實訓 223
8.5本章習題 223
第9章Android圖形庫 225
9.1圖形基礎 226
9.22D繪圖 228
9.2.1多邊形繪圖 228
9.2.2顏色和透明度 231
9.2.3旋轉 232
9.33D繪圖 233
9.3.13D空間 233
9.3.2紋理映射 234
9.3.3光照和透明度事件 236
9.4上機實訓 238
9.5本章習題 238
第10章Android資源與國際化 239
10.1Android資源 240
10.1.1Android資源介紹 240
10.1.2Android資源存儲 241
10.1.3Android資源分類 242
10.2資源的創建和使用 243
10.2.1創建資源 243
10.2.3使用系統資源 259
10.3資源國際化 260
10.4上機實訓 262
10.5本章習題 262
第11章Android中的數據存儲 265
11.1使用SharedPreference存儲數據 266
11.1.1訪問SharedPreferences的
API 266
11.1.2使用XML存儲
SharedPreferences數據 269
11.2使用檔案存儲數據 270
11.2.1訪問套用中的檔案數據 271
11.2.2訪問設備中獨立的檔案
數據 274
11.3使用SQLite資料庫存儲數據 277
11.3.1SQLite資料庫簡介 277
11.3.2SQLite資料庫操作 278
11.4使用ContentProvider 284
11.5上機實訓 289
11.6本章習題 289
第12章Android通信業務開發 291
12.1Wifi 292
12.1.1WifiManager介紹 292
12.1.2Socket和ServerSocket 293
12.1.3Wifi的實現過程 294
12.1.4套用實例:WifiSocket數據
傳輸 295
12.2短訊息 299
12.2.1SmsManager介紹 299
12.2.2簡訊業務的實現過程 300
12.2.3套用實例:簡訊提示實現 301
12.3電話 305
12.3.1TelephoneManager介紹 305
12.3.2電話業務實現過程 306
12.4上網 309
12.4.1使用WebView組件訪問
Internet 309
12.4.2使用HttpComponents訪問
Internet 315
12.5上機實訓 317
12.6本章習題 317
第13章AndroidGPS業務開發 319
13.1GPS工作原理 320
13.2AndroidLocation-BasedAPI簡介 321
13.3Android模擬器支持的GPS定位
檔案 322
13.3.1KML 322
13.3.2NMEA 323
13.4LocationManager和
LocationProvider 324
13.4.1LocationManager 325
13.4.2LocationProvider 326
13.5基於GoogleMap的套用 331
13.5.1將定位信息傳遞給Google
Map 331
13.5.2使用MapView下載顯示
地圖 331
13.6上機實訓 334
13.7本章習題 334
第14章Android多媒體開發 337
14.1多媒體開發組件 338
14.1.1MediaPlayer 338
14.1.2MediaRecorder 340
14.1.3VideoView 341
14.2播放音頻媒體 342
14.3錄製視頻媒體 343
14.4播放視頻媒體 345
14.5上機實訓 347
14.6本章習題 348
第15章AndroidNDK技術 349
15.1NDK介紹 350
15.2搭建NDK開發環境 351
15.2.1安裝環境 351
15.2.2下載和安裝NDK 352
15.2.3下載和安裝Cygwin 353
15.2.4運行一個NDK程式 358
15.3AndroidNDK開發 361
15.3.1設計JNI接口 361
15.3.2使用C/C++實現本地方法 365
15.3.3編譯檔案實現 366
15.3.4編譯NDK程式 369
15.4上機實訓 370
15.5本章習題 371
第16章常見錯誤與分析 373
16.1常見錯誤 374
16.2捕捉錯誤 376
16.2.1使用LogCat捕捉錯誤 376
16.2.2使用斷點捕捉錯誤 378
16.2.3使用異常來捕捉錯誤 383
16.3上機實訓 386
16.4本章習題 387
第17章Android綜合實例開發——
Android手機新浪微博 389
17.1 Android手機新浪微博功能需求 390
17.2Android手機新浪微博設計
和實現 391
17.2.1OAuth認證 391
17.2.2核心控制類的實現
(MainService) 399
17.2.3主頁面的實現 405
17.2.4子頁面的實現 411
17.3新浪微博功能演示 416
2.5.3Eclipse中Android項目的調試
和運行 36
2.5.4創建一個Android套用:
WelcomeAndroid 37
2.6Android常用的開發工具 39
2.6.1配置工具(AVD) 39
2.6.2Android仿真器(Emulator) 39
2.6.3圖形化調試工具(DDMS) 40
2.6.4命令行調試工具(ADB) 43
2.6.5資源打包工具(AAPT) 45
2.6.6獲取日誌工具(LogCat) 47
2.6.7視圖層次工具(HierarchyViewer) 47
2.7上機實訓 49
2.8本章習題 49
第3章Android編程基礎 51
3.1語言要素 52
3.1.1注釋 52
3.1.2標識符 56
3.1.3分隔設定 57
3.1.4關鍵字 58
3.2數據類型 58
3.2.1基本數據類型 59
3.2.2引用數據類型 60
3.3運算符和表達式 61
3.3.4位運算符 65
3.3.6其他運算符 67
3.3.7表達式與語句 68
3.4控制語句 68
3.4.1選擇控制語句 68
3.4.2循環控制語句 70
3.4.3轉移控制語句 71
3.5數組 72
3.5.1靜態數組 72
3.5.2動態數組 72
3.6字元串 74
3.6.1字元串的定義 74
3.6.2常用的字元串方法 74
3.7類和對象 76
3.7.1類和對象的概念與定義 76
3.7.2成員變數和方法 77
3.7.3創建對象 78
3.7.4構造函式 78
3.8繼承 79
3.8.1繼承的實現 79
3.8.2成員變數的隱藏和方法的
重寫 80
3.8.3關鍵字super 80
3.9多態 81
3.10上機實訓 82
3.11本章習題 83
第4章AndroidGUI開發 85
4.1用戶人機界面元素分類 86
4.1.1視圖組件(View) 86
4.1.2視圖容器組件(ViewGroup) 86
4.1.3布局組件(Layout) 87
4.1.4布局參數(LayoutParams) 88
4.2常用widget組件 88
4.2.1文本框視圖(TextView) 88
4.2.2按鈕(Button) 92
4.2.3圖片按鈕(ImageButton) 93
4.2.4編輯框(EditText) 95
4.2.5多項選擇(CheckBox) 98
4.2.6單項選擇(RadioGroup) 101
4.2.7下拉列表(Spinner) 101
4.2.8自動完成文本
(AutoCompleteTextView) 103
4.2.9日期選擇器(DatePicker) 104
4.2.10時間選擇器(TimePicker) 107
4.2.11數字時鐘(DigitalClock) 109
4.2.12表狀時鐘(AnalogClock) 110
4.2.13進度條(ProgressBar) 113
4.2.14拖動條(SeekBar) 114
4.2.15評分組件(RatingBar) 117
4.3視圖組件 120
4.3.1圖片視圖(ImageView) 121
4.3.2滾動視圖(ScrollView) 129
4.3.3格線視圖(GridView) 134
4.3.4列表視圖(ListView) 134
4.4選單(Menu) 135
4.4.1
上下文選單(ContextMenu) 135
4.4.2選項選單(OptionsMenu) 138
4.4.3基於XML的選單結構 140
4.5界面布局 141
4.5.1線性布局(LinearLayout) 142
4.5.2相對布局(RelativeLayout) 144
4.5.3表格布局(TableLayout) 144
4.5.4絕對布局(AbsoluteLayout) 145
4.6上機實訓 147
4.7本章習題 147
第5章Android編程基礎 149
5.1Activity的生命周期和棧管理機制 150
5.1.1Activity生命周期 150
5.1.2Activity棧管理機制 151
5.2解析Activity的實現 152
5.2.1創建Activity 153
5.2.2啟動另外一個Activity 155
5.2.3Activity的啟動模式 157
5.2.4設定Activity許可 160
5.3多個Activity套用 163
5.3.1Activity間的訊息傳遞 163
5.3.2多Activity的Android套用 165
5.4上機實訓 169
5.5本章習題 169
第6章AndroidService組件 171
6.1Service的作用 172
6.2解析Service的實現 173
6.2.1創建Service 173
6.2.2綁定一個已經存在的
Service 174
6.2.3Service的生命周期 175
6.3遠程Service調用 180
6.3.1創建一個AIDL檔案 181
6.3.2實現AIDL檔案生成的Java
接口 184
6.3.3客戶端調用 184
6.4系統服務 186
6.5上機實訓 187
6.6本章習題 187
第7章Android桌面組件 189
7.1捷徑 190
7.1.1顯示捷徑到桌面 190
7.1.2添加捷徑到捷徑
列表 191
7.2Widget開發 193
7.2.1Widget介紹 193
7.2.2在桌面上添加Widget 194
7.2.3Widget的開發流程 195
7.2.4Widget的開發實例 196
7.3上機實訓 204
7.4本章習題 204
第8章Android程式間的通信 205
8.1Intent 206
8.1.1Intent介紹 206
8.1.2Intent的啟動機制 208
8.1.3常用IntentAction 211
8.2Broadcast中的Intent 212
8.2.1傳送廣播Intent 212
8.2.2接受廣播Intent 214
8.3套用實例詳解:電話撥號程式 217
8.3.1實例分析 218
8.3.2實例實現 218
8.4上機實訓 223
8.5本章習題 223
第9章Android圖形庫 225
9.1圖形基礎 226
9.22D繪圖 228
9.2.1多邊形繪圖 228
9.2.2顏色和透明度 231
9.2.3旋轉 232
9.33D繪圖 233
9.3.13D空間 233
9.3.2紋理映射 234
9.3.3光照和透明度事件 236
9.4上機實訓 238
9.5本章習題 238
第10章Android資源與國際化 239
10.1Android資源 240
10.1.1Android資源介紹 240
10.1.2Android資源存儲 241
10.1.3Android資源分類 242
10.2資源的創建和使用 243
10.2.1創建資源 243
10.2.3使用系統資源 259
10.3資源國際化 260
10.4上機實訓 262
10.5本章習題 262
第11章Android中的數據存儲 265
11.1使用SharedPreference存儲數據 266
11.1.1訪問SharedPreferences的
API 266
11.1.2使用XML存儲
SharedPreferences數據 269
11.2使用檔案存儲數據 270
11.2.1訪問套用中的檔案數據 271
11.2.2訪問設備中獨立的檔案
數據 274
11.3使用SQLite資料庫存儲數據 277
11.3.1SQLite資料庫簡介 277
11.3.2SQLite資料庫操作 278
11.4使用ContentProvider 284
11.5上機實訓 289
11.6本章習題 289
第12章Android通信業務開發 291
12.1Wifi 292
12.1.1WifiManager介紹 292
12.1.2Socket和ServerSocket 293
12.1.3Wifi的實現過程 294
12.1.4套用實例:WifiSocket數據
傳輸 295
12.2短訊息 299
12.2.1SmsManager介紹 299
12.2.2簡訊業務的實現過程 300
12.2.3套用實例:簡訊提示實現 301
12.3電話 305
12.3.1TelephoneManager介紹 305
12.3.2電話業務實現過程 306
12.4上網 309
12.4.1使用WebView組件訪問
Internet 309
12.4.2使用HttpComponents訪問
Internet 315
12.5上機實訓 317
12.6本章習題 317
第13章AndroidGPS業務開發 319
13.1GPS工作原理 320
13.2AndroidLocation-BasedAPI簡介 321
13.3Android模擬器支持的GPS定位
檔案 322
13.3.1KML 322
13.3.2NMEA 323
13.4LocationManager和
LocationProvider 324
13.4.1LocationManager 325
13.4.2LocationProvider 326
13.5基於GoogleMap的套用 331
13.5.1將定位信息傳遞給Google
Map 331
13.5.2使用MapView下載顯示
地圖 331
13.6上機實訓 334
13.7本章習題 334
第14章Android多媒體開發 337
14.1多媒體開發組件 338
14.1.1MediaPlayer 338
14.1.2MediaRecorder 340
14.1.3VideoView 341
14.2播放音頻媒體 342
14.3錄製視頻媒體 343
14.4播放視頻媒體 345
14.5上機實訓 347
14.6本章習題 348
第15章AndroidNDK技術 349
15.1NDK介紹 350
15.2搭建NDK開發環境 351
15.2.1安裝環境 351
15.2.2下載和安裝NDK 352
15.2.3下載和安裝Cygwin 353
15.2.4運行一個NDK程式 358
15.3AndroidNDK開發 361
15.3.1設計JNI接口 361
15.3.2使用C/C++實現本地方法 365
15.3.3編譯檔案實現 366
15.3.4編譯NDK程式 369
15.4上機實訓 370
15.5本章習題 371
第16章常見錯誤與分析 373
16.1常見錯誤 374
16.2捕捉錯誤 376
16.2.1使用LogCat捕捉錯誤 376
16.2.2使用斷點捕捉錯誤 378
16.2.3使用異常來捕捉錯誤 383
16.3上機實訓 386
16.4本章習題 387
第17章Android綜合實例開發——
Android手機新浪微博 389
17.1 Android手機新浪微博功能需求 390
17.2Android手機新浪微博設計
和實現 391
17.2.1OAuth認證 391
17.2.2核心控制類的實現
(MainService) 399