基本信息
上架時間:2011-1-20
出版日期:2011 年1月
開本:16開
頁碼:480
版次:1-1
內容簡介
隨著越來越多的手機
廠商和移動運營商加入到“開放手機聯盟”,android平台日益受到廣大開發者的關注和推崇。在android平台上開發移動套用,能大幅度降低開發嵌入式系統所需要的投資成本,並能提供軟體開發效率以及開拓新的市場領域。
本書以android作業系統架構為經,開發android應用程式為緯,循序漸進地介紹android應用程式開發實戰技術,使開發人員不僅學習到 android作業系統的架構和基本原理,並以最快的速度掌握android的開發技能。
本書面向android初學者、希望系統掌握android開發技能的開發人員以及android開發的項目管理人員。
目錄
第1章 拓展android市場的java套用
1.1 android來了 2
1.2 android作業系統結構 3
1.2.1 android應用程式 4
1.2.2 android應用程式開發平台 4
1.2.3 android的各類程式庫 5
1.2.4 android運行時環境 6
1.2.5 linux作業系統核心 7
1.3 oesf擴增功能 7
1.3.1 oesf em嵌入式項目 7
1.3.2 oesf針對的相關產業和設備 8
1.3.3 oesf工作小組 9
1.4 android——windows開發環境 10
1.5 在android market銷售你的套用軟體 12
1.5.1 如何上傳套用軟體到android market集市網站 12
1.5.2 如何從android market集市網站下載套用軟體 14
第2章 安裝android sdk開發環境
2.1 android sdk開發環境 16
2.1.1 安裝android sdk開發環境 16
2.1.2 快速了解安裝android sdk開發環境程式 16
2.2 安裝Android SDK開發環境
2.3 安裝Android SDK 前必要的軟體
2.4 更新到新版本Android 開發工具ADT
2.5 刪除Android 開發工具ADT
2.6 Android——“Hello World!”驗證
第3章 Android SDK 開發平台套用
3.1 Android SDK 開發平台套用
3.2 Android 仿真器
3.3 Android 仿真器專用SD存儲卡
3.4 Android 系統調試工具adb
3.5 Android 調試監控系統DDMS
第四章 認識Android基本單元——活動程式Activity
4.1 Android基本單元——活動程式Activity
4.2 活動程式Activity執行狀態遷移的生命周期(Lifecycle)
4.3 活動程式Activity的控制功能
第5章 活動程式Activity的切換——意圖方法Intent
5.1 活動程式Activity和意圖方法Intent 72
5.1.1 Android如何切換顯示窗體 72
5.1.2 ChatActivities應用程式 73
5.2 建立ChatActivities應用程式 74
5.2.1 ChatActivities應用程式——窗體布局 74
5.2.2 ChatActivities應用程式——資源 75
5.2.3 ChatActivities應用程式——Manifest 76
5.3 ChatActivities應用程式實現 77
5.4 標準意圖方法Intent 80
第6章 Android應用程式的Widget創作套件
6.1 Android應用程式的人機接口 84
6.1.1 視圖(View) 84
6.1.2 視圖組(ViewGroup) 84
6.2 Android應用程式窗體布局 85
6.2.1 布局編輯器——AndroidLayoutEditor 85
6.2.2 資源編輯器——AndroidResourceEditor 86
6.3 視圖(View)範例 86
6.3.1 按鈕事件處理——Button 89
6.3.2 編輯框事件處理——EditText 93
6.3.3 時鐘事件處理——AnalogClock/DigitalClock 96
6.3.4 進度條事件處理——ProgressBar 98
6.3.5 日期和時間事件處理——DatePicker/TimePicker 101
6.3.6 計時錶事件處理——Chronometer 104
6.3.7 對話框事件處理——AlertDialog/Toast 105
6.3.8 下拉列表事件處理——SpinnerSelect 110
6.3.9 格線視圖事件處理——GridView 112
6.3.10 視頻播放事件處理——Video 114
6.3.11 相冊事件處理——Gallery 116
6.3.12 拖動條事件處理——RatingBar/SeekBar 119
第7章 Android應用程式的Layout窗體布局
7.1 Android應用程式的窗體布局 122
7.1.1 表格布局——TableLayout 123
7.1.2 線性布局——LinearLayout 124
7.1.3 相對布局——RelativeLayout 126
7.1.4 絕對布局——AbsoluteLayout 127
7.1.5 框架布局——FrameLayout 129
7.2 建立窗體布局Layout檔案 130
7.2.1 建立顯示窗體XML檔案 130
7.2.2 設計顯示窗體上的布局 130
7.3 顯示窗體布局Layout範例 131
7.3.1 表格布局範例——TableLayout 134
7.3.2 線性布局範例——LinearLayout 136
7.3.3 相對布局範例——RelativeLayout 138
7.3.4 絕對布局範例——AbsoluteLayout 140
7.3.5 窗體布局Layout的範例程式 142
第8章 Android應用程式的Menu選單
8.1 Android應用程式的Menu選單 145
8.1.1 選項選單——OptionMenu 145
8.1.2 上下文選單——ContextMenu 146
8.1.3 子選單——Submenu 146
8.2 規劃選項選單 146
8.2.1 如何規劃選項選單 146
8.2.2 如何處理選項選單的選項 147
8.2.3 處理選項選單範例 148
8.3 規劃上下文選單 150
8.3.1 如何規劃上下文選單 151
8.3.2 如何處理上下文選單的選項 151
8.3.3 處理上下文選單範例 152
8.4 規划子選單 154
8.4.1 如何規划子選單 155
8.4.2 如何處理子選單的選項 155
8.4.3 處理子選單範例 155
第9章 Android數據存儲和數據公開——SQLite
9.1 Android數據存儲和共享 159
9.2 實現共享優先數據方法——SharedPreferences 159
9.2.1 共享優先數據存取方法 160
9.2.2 應用程式範例——離開時存儲優先數據 165
9.3 資料庫存儲方法——SQLiteDatabases 167
9.3.1 SQLite資料庫添加、更新、刪除、檢索方法 171
9.3.2 SQLite資料庫關聯操作方法 177
9.4 內容提供器方法——ContentProviders 183
9.4.1 內容提供器公開數據方法 186
9.4.2 SQLite應用程式改用ContentProvider來公開數據 191
9.5 檔案存儲方法——Files 199
9.6 網路存儲方法——Networks 200
第10章 認識Service服務程式
10.1 Android應用程式組成 202
10.1.1 服務程式Service角色 202
10.1.2 廣播接收器BroadcastReceiver角色 202
10.2 服務程式Service 203
10.2.1 啟動服務程式Service 204
10.2.2 服務程式Service的執行狀態遷移 204
10.2.3 創建一個服務程式Service 206
10.3 廣播接收器BroadcastReceiver 206
10.3.1 實現廣播事件 206
10.3.2 使用BroadcastReceiver廣播接收器 207
10.4 服務程式和廣播接收器整合 208
第11章 Android應用程式國際化
11.1 Android國際化 218
11.2 Android資源規劃 219
11.2.1 創建Android資源 220
11.2.2 創建Android多語言資源 220
11.3 Android多語言範例 221
第12章 Android的Web視圖——WebView
12.1 Android的Web視圖 224
12.1.1 Android瀏覽器WebView 224
12.1.2 Android應用程式和JavaScript互動 224
12.2 瀏覽網頁WebView.loadUrl實現方法 224
12.3 瀏覽網頁WebView範例 226
12.3.1 直接下載Yahoo或Google網頁 229
12.3.2 輸入網址再下載網頁 232
12.3.3 WebView網頁向前和向後瀏覽歷史管理——Back/Forward 234
12.3.4 WebView網頁放大和縮小——Zoomin/Zoomout 238
12.4 觸控網頁MotionGesture 241
12.5 Android應用程式和JavaScript腳本代碼互操作方法 244
12.5.1 JavaScript腳本代碼調用Android應用程式 245
12.5.2 JavaScript腳本代碼的警告信息 246
12.5.3 Android應用程式調用JavaScript腳本代碼 247
12.6 JavaScript腳本代碼互聯範例 249
12.6.1 JavaScript腳本代碼調用Android應用程式範例 251
12.6.2 JavaScript腳本代碼的警告信息範例 254
12.6.3 JavaScript腳本代碼的語言翻譯範例 256
12.6.4 Android應用程式調用JavaScript腳本代碼範例 259
第13章 Android常駐程式——AppWidget
13.1 Android的常駐程式AppWidget體驗 263
13.1.1 調用常駐程式AppWidget 263
13.1.2 一般系統常駐程式和Android系統常駐程式 264
13.2 Android常駐程式的可用功能 264
13.3 常駐程式的生命周期 265
13.4 建立Android常駐程式方法 266
13.4.1 Android配置檔案 267
13.4.2 常駐程式信息檔案 268
13.4.3 Layout窗體布局檔案 268
13.4.4 AppWidgetProvider常駐程式 269
13.4.5 常駐程式配置Activity 270
13.4.6 實現常駐程式生命周期——AppWidgetProvider 271
13.5 Android常駐程式範例 272
13.5.1 常駐程式生命周期——LifeCycle範例 274
13.5.2 指定間隔時間執行——SlideShow常駐程式範例 278
13.5.3 指定間隔時間執行——WhatTimeIsItNow常駐程式範例 279
13.5.4 指定時刻時執行——AlarmManagerSample常駐程式範例 281
13.5.5 單擊按鈕時執行——ClickSample常駐程式範例 284
第14章 Android應用程式GPS位置和GoogleMaps
14.1 GPS位置和GoogleMaps 288
14.1.1 GPS定位服務 288
14.1.2 Google地圖外部庫 288
14.2 取得GPS位置信息 288
14.2.1 LocationManager類 289
14.2.2 LocationListener接口 289
14.2.3 Location類 290
14.2.4 LocationProvider類 290
14.2.5 LocationGPS應用程式範例——GPS位置信息 290
14.2.6 在仿真器測試LocationGPS應用程式範例 293
14.3 取得Google地圖外部庫 295
14.3.1 開發Google地圖應用程式前的工作 295
14.3.2 Google地圖應用程式範例——從Google地圖服務系統獲得地圖 297
14.4 使用MapView前先取得MapsAPIKey 299
14.4.1 使用MapsAPIKey的重點 299
14.4.2 產生keystore並取得認證指紋(MD5)碼 299
14.4.3 經Google網站的簽署取得MapsAPIKey 300
14.5 Google地圖上貼上標記 302
14.5.1 Google地圖應用程式範例——實現一個ItemizedOverlay類 302
14.5.2 Google地圖應用程式範例——Google地圖上貼上標記 304
14.6 按GPS位置來顯示Google地圖 306
第15章 Android音頻和視頻
15.1 Android音頻和視頻 310
15.2 播放視頻在窗體布局上——VideoView 311
15.3 播放音頻和視頻——MediaPlayer 313
15.3.1 播放媒體來自本地資源 313
15.3.2 播放媒體來自系統檔案和數據流 314
15.4 播放媒體應用程式範例MediaPlayer 314
15.4.1 MediaPlayerAudio應用程式範例 317
15.4.2 MediaPlayerVideo應用程式範例 321
15.5 播放JET內容 328
15.6 捕捉音頻內容——MediaRecorder 329
15.7 Android文字到語音轉換——TextToSpeech 330
第16章 Android2D繪圖和3DOpenGL繪圖
16.1 Android作業系統的繪圖 334
16.1.1 二維繪圖 334
16.1.2 三維繪圖 334
16.2 繪製二維圖形的方法 334
16.3 圖像顯示對象——Drawable 335
16.3.1 從項目資源來創建圖像 335
16.3.2 從項目資源來創建圖像的範例 337
16.3.3 從XML檔案來定義圖像 338
16.3.4 從XML檔案定義圖像——TransitionDrawable範例 340
16.3.5 形狀圖像繪製對象——ShapeDrawable 341
16.4 創建二維動畫——Animation 343
16.4.1 補間動畫繪製對象——TweenAnimation 343
16.4.2 補間動畫繪製對象——TweenAnimation範例 346
16.4.3 幀動畫繪製對象——FrameAnimation 350
16.4.4 幀動畫繪製對象——FrameAnimation範例 351
16.5 直接在畫布描繪圖形——Canvas 355
16.5.1 畫布描繪圖形——View 355
16.5.2 畫布描繪圖形——View範例 356
16.5.3 畫布高速描繪——SurfaceView 358
16.6 3DOpenGL繪圖 359
第17章 Android高速描繪——SurfaceView
17.1 Android高速描繪SurfaceView 361
17.1.1 高速描繪畫布SurfaceView方法——SurfaceView.getHolder 361
17.1.2 高速描繪畫布SurfaceView方法——SurfaceHolder.Callback 361
17.1.3 SurfaceView類和方法 362
17.1.4 各類描繪方式和方法 363
17.1.5 SurfaceView類的按鍵輸入事件 365
17.2 高速描繪SurfaceView範例 365
17.2.1 高速描繪畫布SurfaceView方法——SurfaceView.getHolder範例 367
17.2.2 高速描繪畫布SurfaceView方法——SurfaceHolder.Callback範例 369
17.2.3 平滑鋸齒方法——AntiAlias範例 371
17.2.4 描繪方式和方法的範例——簡單Game 374
17.2.5 描繪畫布的保存和回復範例——Canvas方法 384
17.2.6 按鍵事件處理範例——Key 387
17.2.7 觸控和軌跡球事件處理範例——Touch&Trackball 389
17.2.8 透明事件範例——Transparent 391
17.2.9 半透明事件範例——Translucent 394
第18章 Android動態壁紙——LiveWallpaper
18.1 Android動態壁紙LiveWallpaper 400
18.1.1 動態壁紙LiveWallpaper架構 400
18.1.2 WallpaperService和WallpaperService.Engine方法 400
18.2 Android動態壁紙設定 401
18.2.1 簡單動態壁紙LiveWallpaper設定 401
18.2.2 調整參數的動態壁紙LiveWallpaper設定 403
18.3 Android動態壁紙應用程式設計 407
18.3.1 簡單動態壁紙LiveWallpaper應用程式設計 407
18.3.2 調整參數的動態壁紙LiveWallpaper應用程式設計 409
18.4 Android動態壁紙應用程式範例——火焰之舞 409
18.5 Android動態壁紙應用程式範例——動畫參數設定 413
18.6 Android動態壁紙應用程式範例——照片自動切換 418
18.7 Android動態壁紙應用程式範例——觸控切換照片 423
第19章 Android藍牙通信——Bluetooth
19.1 Android藍牙通信Bluetooth 429
19.1.1 Android藍牙通信Bluetooth基本架構 429
19.1.2 定義藍牙通信Bluetooth許可權——Permission 430
19.2 建立藍牙通信Bluetooth 430
19.2.1 設定藍牙通信——SettingupBluetooth 431
19.2.2 發現藍牙設備——FindingDevices 432
19.2.3 連線藍牙設備——ConnectingDevices 434
19.2.4 管理藍牙連線——ManagingaConnection 438
第20章 Android觸控螢幕——Gesture
20.1 Android觸控螢幕Gesture 442
20.2 Android觸控螢幕Gesture處理順序 443
20.3 Android觸控螢幕Gesture範例 444
第21章 Android感應檢測——Sensor
21.1 Android感應檢測Sensor 448
21.2 Android感應檢測管理——SensorManager 448
21.3 Android加速度感應檢測——Accelerometer 450
21.4 Android磁場感應檢測——Magnetic 451
21.5 Android方位感應檢測——Orientation 451
21.6 Android溫度感應檢測——Temperature 452
21.7 Android感應檢測Sensor範例 452
21.7.1 做一個指北針——Compass範例 454
21.7.2 Android方位感應檢測——Orientation範例 457
21.7.3 Android加速度感應檢測—Accelerometer範例 462
21.7.4 Android磁場感應檢測——Magnetic範例 466
21.7.5 Android溫度感應檢測——Temperature範例 469
附錄A Android應用程式範例光碟使用說明
A.1 範例光碟 474
A.2 AndroidSDK開發環境 474
A.3 進入Eclipse集成開發環境 474
A.4 Android應用程式範例 475
A.4.1 生成Android應用程式的項目 475
A.4.2 編譯和執行Android應用程式範例 477