內容簡介
《Android從入門到精通》從初學者的角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了Android應用程式開發應該掌握的各方面技術。 全書共分15章,內容包括Android快速入門、Android模擬器與常用命令、用戶界面設計、高級用戶界面設計、基本程式單元Activity、Android套用核心Intent、Android事件處理、資源訪問、圖形圖像處理技術、多媒體套用開發、ContentProvider實現數據共享執行緒與訊息處理、Service套用、網路編程及Internet套用和基於Android的家庭理財通。所有知識都結合具體實例進行介紹,涉及的程式代碼給出了詳細的注釋,可以使讀者輕鬆領會Android應用程式開發的精髓,快速提高開發技能。另外,本書除了紙質內容之外,配書光碟中還給出了海量開發資源庫,主要內容如下:
語音視頻講解:總時長25小時,共62段 技術資源庫:600頁專業參考文檔
實例資源庫:436個經典實例 面試資源庫:369道面試真題
能力測試題庫:138道能力測試題目 PPT電子教案
本書適合作為軟體開發入門者的自學用書,也適合作為高等院校相關專業的教學參考書,也可供開發人員查閱、參考。
圖書目錄
第1篇 基礎篇
第1章 Android快速入門 3
教學錄像:1小時19分鐘
1.1 什麼是Android 4
1.1.1 平台特性 4
1.1.2 平台架構 4
1.1.3 Android市場 5
1.2 搭建Android開發環境 6
1.2.1 系統需求 6
1.2.2 JDK的下載 6
1.2.3 JDK的安裝 8
1.2.4 AndroidSDK的下載與安裝 10
1.2.5 Eclipse的下載與安裝 16
1.2.6 Eclipse的漢化 17
1.2.7 ADT外掛程式的安裝及配置 20
1.3 第一個Android程式 24
1.3.1 創建Android應用程式 25
1.3.2 Android項目結構說明 26
1.3.3 運行Android應用程式 29
1.3.4 調試Android應用程式 30
1.3.5 Android套用開發流程 32
1.4 小結 32
1.5 實踐與練習 32
第2章 Android模擬器與常用命令 33
教學錄像:47分鐘
2.1 使用Android模擬器 34
2.1.1 模擬器概述 34
2.1.2 Android虛擬設備和模擬器 34
2.1.3 Android模擬器啟動與停止 36
2.1.4 控制模擬器 36
2.1.5 模擬器與磁碟鏡像 37
2.1.6 Android4.0模擬器介紹 38
2.1.7 模擬器限制 38
2.1.8 範例1:設定模擬器語言 38
2.1.9 範例2:設定時區和時間 40
2.1.10 範例3:設定模擬器桌面背景 40
2.2 SDK中常用命令 41
2.2.1 adb命令 43
2.2.2 android命令 45
2.2.3 emulator命令 47
2.2.4 mksdcard命令 48
2.2.5 範例1:在SD卡上創建/刪除資料夾 49
2.2.6 範例2:使用DDMS透視圖管理SD卡 50
2.3 經典範例 52
2.3.1 安裝搜狗拼音輸入法 52
2.3.2 卸載搜狗拼音輸入法 53
2.3.3 使用模擬器撥打電話 54
2.4 小結 54
2.5 實踐與練習 55
第3章 用戶界面設計 56
教學錄像:4小時57分鐘
3.1 控制UI界面 57
3.1.1 使用XML布局檔案控制UI界面 57
3.1.2 在代碼中控制UI界面 59
3.1.3 使用XML和Java代碼混合控制UI
界面 61
3.1.4 開發自定義的View 63
3.2 布局管理器 65
3.2.1 線性布局 66
3.2.2 表格布局 69
3.2.3 幀布局 72
3.2.4 相對布局 74
3.2.5 範例1:使用表格布局與線性布局實現
分類工具列 76
3.2.6 範例2:布局個性遊戲開始界面 80
3.3 基本組件 82
3.3.1 文本框與編輯框 82
3.3.2 按鈕 88
3.3.3 單選按鈕和複選框 91
3.3.4 圖像視圖 97
3.3.5 列表選擇框 99
3.3.6 列表視圖 102
3.3.7 日期、時間拾取器 106
3.3.8 計時器 108
3.3.9 範例1:實現跟蹤滑鼠單擊狀態的圖片
按鈕 109
3.3.10 範例2:實現帶圖示的ListView 110
3.4 經典範例 112
3.4.1 我同意遊戲條款 112
3.4.2 猜猜雞蛋放在哪只鞋子裡 115
3.5 小結 119
3.6 實踐與練習 119
第4章 高級用戶界面設計 120
教學錄像:2小時46分鐘
4.1 高級組件 121
4.1.1 自動完成文本框 121
4.1.2 進度條 123
4.1.3 拖動條和星級評分條 126
4.1.4 選項卡 130
4.1.5 圖像切換器 132
4.1.6 格線視圖 134
4.1.7 畫廊視圖 138
4.1.8 範例1:顯示在標題上的進度條 141
4.1.9 範例2:幻燈片式圖片瀏覽器 143
4.2 訊息提示框與對話框 146
4.2.1 使用Toast顯示訊息提示框 146
4.2.2 使用Notification在狀態欄上顯示通知 147
4.2.3 使用AlertDialog創建對話框 150
4.2.4 範例1:詢問是否退出的對話框 155
4.2.5 範例2:帶圖示的列表對話框 157
4.3 經典範例 159
4.3.1 實現仿Windows7圖片預覽窗格效果 159
4.3.2 狀態欄中顯示代表登錄狀態的圖示 161
4.4 小結 164
4.5 實踐與練習 165
第5章 基本程式單元Activity 166
教學錄像:2小時4分鐘
5.1 Activity概述 167
5.2 創建、配置、啟動和關閉Activity 168
5.2.1 創建Activity 168
5.2.2 配置Activity 169
5.2.3 啟動和關閉Activity 170
5.2.4 範例1:實現啟動和關閉Activity 171
5.2.5 範例2:實現套用對話框主題的關於
Activity 173
5.3 多個Activity的使用 175
5.3.1 使用Bundle在Activity之間交換數據 175
5.3.2 調用另一個Activity並返回結果 177
5.3.3 範例1:實現根據身高計算標準體重 179
5.3.4 範例2:帶選擇頭像的用戶註冊頁面 182
5.4 使用Fragment 185
5.4.1 創建Fragment 186
5.4.2 在Activity中添加Fragment 186
5.5 經典範例 191
5.5.1 仿QQ客戶端登錄界面 191
5.5.2 帶查看原圖功能的圖像瀏覽器 195
5.6 小結 198
5.7 實踐與練習 198
第6章 Android套用核心Intent 199
教學錄像:39分鐘
6.1 Intent對象 200
6.1.1 組件名稱(ComponentName) 200
6.1.2 動作(Action) 200
6.1.3 數據(Data) 202
6.1.4 種類(Category) 203
6.1.5 額外(Extras) 204
6.1.6 標記(Flags) 204
6.1.7 範例1:在Activity間使用Intent傳遞
信息 204
6.1.8 範例2:返回系統Home桌面 207
6.2 Intent使用 208
6.2.1 Intent過濾器 209
6.2.2 範例1:使用包含預定義動作的隱式
Intent 211
6.2.3 範例2:使用包含自定義動作的隱式
Intent 213
6.3 經典範例 215
6.3.1 使用Intent撥打電話 215
6.3.2 使用Intent打開網頁 217
6.4 小結 218
6.5 實踐與練習 218
第7章 Android事件處理 219
教學錄像:37分鐘
7.1 事件處理概述 220
7.2 處理鍵盤事件 220
7.2.1 物理按鍵簡介 220
7.2.2 範例1:禁止後退鍵 221
7.2.3 範例2:提示音量增加事件 222
7.3 處理觸摸事件 223
7.3.1 範例1:按鈕觸摸事件 223
7.3.2 範例2:檢測觸摸事件 224
7.4 手勢的創建與識別 225
7.4.1 手勢的創建 225
7.4.2 手勢的導出 226
7.4.3 手勢的識別 226
7.5 經典範例 228
7.5.1 查看手勢對應分值 228
7.5.2 使用手勢輸入數字 230
7.6 小結 231
7.7 實踐與練習 231
第8章 資源訪問 232
教學錄像:2小時56分鐘
8.1 字元串(string)資源 233
8.1.1 定義字元串資源檔案 233
8.1.2 使用字元串資源 233
8.2 顏色(color)資源 234
8.2.1 顏色值的定義 234
8.2.2 定義顏色資源檔案 234
8.2.3 使用顏色資源 235
8.3 尺寸(dimen)資源 235
8.3.1 Android支持的尺寸單位 235
8.3.2 定義尺寸資源檔案 236
8.3.3 使用尺寸資源 236
8.3.4 範例1:通過字元串、顏色和尺寸資源
改變文字及樣式 237
8.3.5 範例2:逐漸加寬的彩虹橋背景 239
8.4 布局(Layout)資源 240
8.5 數組(array)資源 241
8.5.1 定義數組資源檔案 241
8.5.2 使用數組資源 241
8.6 Drawable資源 242
8.6.1 圖片資源 242
8.6.2 StateListDrawable資源 245
8.6.3 範例1:使用9-Patch圖片實現不失真
按鈕背景 246
8.6.4 範例2:控制按鈕是否可用 247
8.7 樣式(style)和主題(theme)資源 249
8.7.1 樣式資源 249
8.7.2 主題資源 250
8.8 原始XML資源 252
8.9 選單(menu)資源 253
8.9.1 定義選單資源檔案 254
8.9.2 使用選單資源 255
8.9.3 範例1:創建上下文選單 256
8.9.4 範例2:創建帶子選單的選項選單 258
8.10 Android程式國際化 260
8.11 經典範例 261
8.11.1 背景半透明效果的Activity 261
8.11.2 實現了國際化的選項選單 263
8.12 小結 265
8.13 實踐與練習 266
第2篇 高級篇
第9章 圖形圖像處理技術 269
教學錄像:2小時56分鐘
9.1 常用繪圖類 270
9.1.1 Paint類 270
9.1.2 Canvas類 272
9.1.3 Bitmap類 273
9.1.4 BitmapFactory類 274
9.2 繪製2D圖像 274
9.2.1 繪製幾何圖形 274
9.2.2 繪製文本 277
9.2.3 繪製路徑 279
9.2.4 繪製圖片 281
9.2.5 範例1:繪製Android的機器人 284
9.2.6 範例2:實現簡易塗鴉板 285
9.3 為圖形添加特效 290
9.3.1 旋轉圖像 290
9.3.2 縮放圖像 292
9.3.3 傾斜圖像 294
9.3.4 平移圖像 295
9.3.5 使用BitmapShader渲染圖像 296
9.3.6 範例1:實現帶描邊的圓角圖片 298
9.3.7 範例2:實現放大鏡效果 299
9.4 Android中的動畫 301
9.4.1 實現逐幀動畫 301
9.4.2 實現補間動畫 302
9.4.3 範例1:忐忑的精靈 306
9.4.4 範例2:旋轉、平移、縮放和透明度
漸變的補間動畫 308
9.5 經典範例 310
9.5.1 在GridView中顯示SD卡上的全部
圖片 310
9.5.2 迷途奔跑的野豬 313
9.6 小結 316
9.7 實踐與練習 316
第10章 多媒體套用開發 317
教學錄像:1小時36分鐘
10.1 播放音頻與視頻 318
10.1.1 使用MediaPlayer播放音頻 318
10.1.2 使用SoundPool播放音頻 322
10.1.3 使用VideoView播放視頻 325
10.1.4 使用MediaPlayer和SurfaceView
播放視頻 327
10.1.5 範例1:播放SD卡上的全部音頻
檔案 331
10.1.6 範例2:帶音量控制的音樂播放器 336
10.2 控制相機拍照 337
10.3 經典範例 342
10.3.1 為遊戲界面添加背景音樂和按鍵音 342
10.3.2 製作開場動畫 346
10.4 小結 348
10.5 實踐與練習 348
第11章 ContentProvider實現數據共享 349
教學錄像:42分鐘
11.1 ContentProvider概述 350
11.1.1 數據模型 350
11.1.2 URI的用法 351
11.2 預定義ContentProvider 351
11.2.1 查詢數據 352
11.2.2 增加記錄 353
11.2.3 增加新值 353
11.2.4 批量更新記錄 353
11.2.5 刪除記錄 353
11.2.6 範例1:系統內置聯繫人的使用 354
11.2.7 範例2:查詢聯繫人ID和姓名 354
11.3 自定義ContentProvider 356
11.3.1 繼承ContentProvider類 356
11.3.2 聲明ContentProvider 358
11.4 經典範例 359
11.4.1 查詢聯繫人姓名和電話 359
11.4.2 自動補全聯繫人姓名 360
11.5 小結 363
11.6 實踐與練習 363
第12章 執行緒與訊息處理 364
教學錄像:50分鐘
12.1 實現多執行緒 365
12.1.1 創建執行緒 365
12.1.2 開啟執行緒 366
12.1.3 執行緒的休眠 366
12.1.4 中斷執行緒 366
12.1.5 範例1:通過實現Runnable接口來
創建執行緒 367
12.1.6 範例2:開啟一個新執行緒播放背景
音樂 369
12.2 Handler訊息傳遞機制 371
12.2.1 循環者(Looper)簡介 371
12.2.2 訊息處理類(Handler)簡介 373
12.2.3 訊息類(Message)簡介 374
12.2.4 範例1:開啟新執行緒獲取網路圖片
並顯示到ImageView中 374
12.2.5 範例2:開啟新執行緒實現電子廣告牌 376
12.3 經典範例 378
12.3.1 多彩的霓虹燈 378
12.3.2 簡易打地鼠遊戲 380
12.4 小結 382
12.5 實踐與練習 382
第13章 Service套用 383
教學錄像:48分鐘
13.1 Service概述 384
13.1.1 Service的分類 384
13.1.2 Service類中的重要方法 384
13.1.3 Service的聲明 386
13.2 創建StartedService 387
13.2.1 繼承IntentService類 388
13.2.2 繼承Service類 389
13.2.3 啟動服務 390
13.2.4 停止服務 391
13.2.5 實例1:繼承IntentService輸出當前
時間 391
13.2.6 實例2:繼承Service輸出當前時間 393
13.3 創建BoundService 396
13.3.1 繼承Binder類 397
13.3.2 使用Messenger類 399
13.3.3 綁定到服務 400
13.3.4 實例1:繼承Binder類綁定服務顯示
時間 401
13.3.5 實例2:使用Messenger類綁定服務
顯示時間 404
13.4 管理Service的生命周期 407
13.5 經典範例 408
13.5.1 視力保護程式 408
13.5.2 查看當前運行服務信息 410
13.6 小結 412
13.7 實踐與練習 412
第14章 網路編程及Internet套用 413
教學錄像:1小時36分鐘
14.1 通過HTTP訪問網路 414
14.1.1 使用HttpURLConnection訪問網路 414
14.1.2 使用HttpClient訪問網路 422
14.1.3 範例1:從指定網站下載檔案 427
14.1.4 範例2:訪問需要登錄後才能訪問的
頁面 430
14.2 使用WebView顯示網頁 436
14.2.1 使用WebView組件瀏覽網頁 436
14.2.2 使用WebView載入HTML代碼 437
14.2.3 讓WebView支持JavaScript 439
14.3 經典範例 440
14.3.1 打造功能實用的網頁瀏覽器 440
14.3.2 獲取天氣預報 443
14.4 小結 445
14.5 實踐與練習 446
第3篇 項目實戰篇
第15章 基於Android的家庭理財通 449
教學錄像:51分鐘
15.1 系統分析 450
15.1.1 需求分析 450
15.1.2 可行性分析 450
15.1.3 編寫項目計畫書 451
15.2 系統設計 452
15.2.1 系統目標 452
15.2.2 系統功能結構 453
15.2.3 系統業務流程 453
15.2.4 系統編碼規範 454
15.3 系統開發及運行環境 455
15.4 資料庫與數據表設計 456
15.4.1 資料庫分析 456
15.4.2 創建資料庫 456
15.4.3 創建數據表 457
15.5 創建項目 458
15.6 系統資料夾組織結構 460
15.7 公共類設計 460
15.7.1 數據模型公共類 460
15.7.2 Dao公共類 462
15.8 登錄模組設計 467
15.8.1 設計登錄布局檔案 467
15.8.2 登錄功能的實現 468
15.8.3 退出登錄視窗 469
15.9 系統主窗體設計 470
15.9.1 設計系統主窗體布局檔案 470
15.9.2 顯示各功能視窗 471
15.9.3 定義文本及圖片組件 473
15.9.4 定義功能圖示及說明文字 473
15.9.5 設定功能圖示及說明文字 473
15.10 收入管理模組設計 475
15.10.1 設計新增收入布局檔案 475
15.10.2 設定收入時間 479
15.10.3 添加收入信息 480
15.10.4 重置新增收入視窗中的各個控制項 481
15.10.5 設計收入信息瀏覽布局檔案 481
15.10.6 顯示所有的收入信息 482
15.10.7 單擊指定項時打開詳細信息 483
15.10.8 設計修改/刪除收入布局檔案 484
15.10.9 顯示指定編號的收入信息 487
15.10.10 修改收入信息 489
15.10.11 刪除收入信息 489
15.11 便簽管理模組設計 490
15.11.1 設計新增便簽布局檔案 490
15.11.2 添加便簽信息 492
15.11.3 清空便簽文本框 493
15.11.4 設計便簽信息瀏覽布局檔案 493
15.11.5 顯示所有的便簽信息 495
15.11.6 單擊指定項時打開詳細信息 496
15.11.7 設計修改/刪除便簽布局檔案 497
15.11.8 顯示指定編號的便簽信息 499
15.11.9 修改便簽信息 500
15.11.10 刪除便簽信息 500
15.12 系統設定模組設計 500
15.12.1 設計系統設定布局檔案 501
15.12.2 設定登錄密碼 502
15.12.3 重置密碼文本框 503
15.13 運行項目 503
15.14 將程式安裝到Android手機上 504
15.15 開發中常見問題與解決方法 506
15.15.1 程式在裝有Android系統的手機上
無法運行 506
15.15.2 無法將最新修改在Android模擬器
中體現 506
15.15.3 退出系統後還能使用記錄的密碼登錄 506
15.16 小結 507