內容簡介
本書緊密圍繞開發人員在開發過程中遇到的實際問題和開發中應該掌握的技術,全面介紹了套用 Android進行程式開發和穿戴設備的各方面技術和技巧。本書採用具體的章節編排方式,將 Android系統功能加以分類,再按照由淺入深的原則講解,輔以許多精心設計的實例貫穿相關的學習章節,引導用戶從入門逐步晉升為 Android程式設計的專家。
全書共分為 16部分(共 85章),內容包括 Android基礎,開發 Android應用程式的流程,學習使用基本界面組件和布局模式,圖像界面組件與動畫效果, Fragment與高級界面組件,其他界面組件與對話框, Intent、 Intent Filter與數據傳送,Broadcast Receiver、Service和 App Widget,Activity的生命周期與高級功能,存儲程式的數據,App項目的準備工作和發布,2D和 3D繪圖,拍照、錄音、錄像與多媒體播放, WebView與網頁處理,開發 NFC應用程式,支持 Android Wear穿戴式設備等。
本書內容精心編排,不僅涵蓋各種重要的主題,更設計了大量的範例程式,適用於廣大計算機愛好者和編程人員參考,也可供大中專院校師生閱讀。
圖書目錄
第1 部分 擁抱Android
第1章 Android 造時勢或者時勢造Android. 2
1-1 Android從何而來.. 3
1-2 Android的功能、套用和商機.. 5
1-3 先睹為快——Android 手機和平板電腦模擬器 6
第2章 安裝Android App 開發工具——Eclipse篇.. 8
2-1 開發Android App的軟硬體需求. 8
2-2 從Android Developers 網站下載整合好的開發工具 10
2-3 將Android SDK安裝到自己的Eclipse平台. 13
2-4 Android App開發工具的維護和更新. 16
第3章 創建Android App 項目——Eclipse篇. 18
3-1 新建Android App項目 18
3-2 動手修改App的運行畫面 22
第4章 APP 項目管理技巧——Eclipse 篇. 26
4-1 根據創建的Android App項目載入Eclipse 26
4-2 根據已經寫好的程式檔案來建立項目.. 27
4-3 根據Android SDK中的程式範例來建立項目. 28
4-4 App 項目的管理和維護.. 30
第5章 安裝Android App 開發工具.. 32
第6章 建立Android App 項目和安裝SDK .. 34
6-1 建立Android App項目 34
6-2 安裝Android SDK和新增模擬器 38
6-3 動手修改App的運行畫面 41
第7章 App 項目管理技巧. 43
第2 部分 開發Android 應用程式的流程
第8章 了解Android App 項目架構和查詢SDK 技術檔案. 46
8-1 了解App 項目的程式代碼 46
8-2 查詢Android SDK技術檔案.. 50
第9章 完成第一個App 項目 53
9-1 “界面布局檔案”的格式和架構. 53
9-2 TextView界面組件 55
9-3 EditText界面組件.. 56
9-4 Button界面組件.. 57
9-5 使用Eclipse開發App . 58
9-6 使用Android Studio開發App 61
9-7 連線界面組件和程式代碼. 65
9-8 在模擬器中輸入中文 68
第10章 程式的錯誤類型和調試方法 70
10-1 程式的語法錯誤和調試方法. 70
10-2 程式的邏輯錯誤和調試方法. 71
10-3 程式的運行時錯誤和調試方法 73
第11章 Android 模擬器的使用技巧.. 77
11-1 啟動模擬器的時機和錯誤處理 77
11-2 同時運行多個模擬器. 79
11-3 使用模擬器的調試功能 80
11-4 模擬器的語言設定、時間設定和上網功能. 81
11-5 把實體手機或平板電腦當成模擬器. 82
第3部分 學習使用基本界面組件和布局模式
第12章 學習更多界面組件的屬性. 84
12-1 match_parent和wrap_content的差別. 86
12-2 android:inputType 屬性的效果. 87
12-3 控制文字大小、顏色和底色. 88
12-4 控制間隔距離以及文字到邊的距離. 89
第13章 Spinner 下拉列表框組件.. 90
第14章 使用RadioGroup 和RadioButton建立單選按鈕. 94
第15章 使用NumberPicker 數字轉輪. 101
15-1 相關方法. 101
15-2 相關步驟. 102
第16章 CheckBox 複選框和ScrollView滾動條. 107
第17章 LinearLayout界面編排模式. 114
第18章 TableLayout界面編排模式.. 119
第19章 RelativeLayout 界面編排模式. 125
第4 部分 圖像界面組件與動畫效果
第20章 ImageButton 和ImageView界面組件 136
第21章 ImageSwitcher 和GridView 界面組件 142
21-1 GridView組件的用法. 143
21-2 ImageSwitcher 組件的用法.. 146
21-3 “圖像畫廊”程式範例. 147
第22章 使用View Animation 動畫效果.. 150
22-1 建立動畫資源檔案 151
22-2 建立各種類型的動畫.. 152
22-3 使用隨機動畫的“圖像畫廊”程式.. 155
22-4 利用程式代碼建立動畫效果.. 158
第23章 Drawable Animation 和Multi-Thread 遊戲程式. 160
23-1 建立Drawable Animation的兩種方法. 160
23-2 Multi-Thread“擲骰子遊戲”程式和Handler信息處理.. 162
23-3 實現“擲骰子遊戲”程式 163
第24章 Property Animation 初體驗.. 168
24-1 Property Animation的基本用法 169
24-2 利用XML檔案建立Property Animation 171
24-3 範例程式. 172
第25章 Property Animation 加上Listener成為動畫超人 176
25-1 使用AnimatorSet .. 176
25-2 在XML動畫資源檔案中使用AnimatorSet . 178
25-3 加上動畫事件Listener 179
25-4 ValueAnimator 181
25-5 範例程式. 181
第5 部分 Fragment 與高級界面組件
第26章 使用Fragment 讓程式界面一分為多 188
26-1 使用Fragment的步驟 189
26-2 為Fragment加上外框並調整大小和位置. 191
26-3 範例程式. 192
第27章 動態Fragment 讓程式成為變形金剛 200
27-1 Fragment 的總管——FragmentManager.. 200
27-2 範例程式. 203
第28章 Fragment 的高級用法. 213
28-1 控制FrameLayout的顯示和隱藏 214
28-2 Fragment 的Back Stack功能和動畫效果.. 216
第29章 Fragment 和Activity 之間的callback機制.. 219
29-1 查看“電腦猜拳遊戲”程式的架構.. 219
29-2 實現Fragment和Activity之間的callback機制 221
29-3 範例程式. 223
第30章 ListView 和ExpandableListView .. 231
30-1 使用ListActivity建立ListView列表 231
30-2 幫ListView添加小圖示 235
30-3 ExpandableListView二層選項列表 237
第31章 AutoCompleteTextView自動完成文字輸入. 241
第32章 SeekBar 和RatingBar 界面組件 246
第6 部分 其他界面組件與對話框
第33章 時間日期界面組件和對話框. 252
33-1 DatePicker和CalendarView界面組件. 252
33-2 TimePicker 時間界面組件 253
33-3 範例程式. 254
33-4 DatePickerDialog 和TimePickerDialog對話框 256
第34章 ProgressBar、ProgressDialog 和Multi-Thread 程式. 258
34-1 Multi-Thread程式. 259
34-2 使用Handler對象完成Thread之間的信息溝通 260
34-3 第一版的Multi-Thread ProgressBar範例程式. 261
34-4 第二版的Multi-Thread ProgressBar範例程式. 266
34-5 ProgressDialog 對話框 267
第35章 AlertDialog 對話框 268
35-1 使用AlertDialog.Builder類建立AlertDialog對話框.. 268
35-2 使用AlertDialog類建立AlertDialog對話框 270
35-3 範例程式. 271
第36章 Toast提示信息 276
第37章 自定義Dialog 對話框.. 279
第7 部分 Intent、Intent Filter 與數據傳送
第38章 AndroidManifest.xml 程式功能描述檔案.. 286
第39章 Intent 粉墨登場.. 293
第40章 Intent Filter 讓App也能幫助App. 299
40-1 設定AndroidManifest.xml檔案中的Intent Filter .. 300
40-2 Android 系統對比Intent和Intent Filter的規則. 302
40-3 Activity 收到Intent對象的後續處理 302
40-4 範例程式. 303
第41章 讓Intent 對象附帶數據.. 309
41-1 傳送數據的Activity需要完成的工作.. 309
41-2 從Intent對象中取出數據 311
41-3 範例程式. 312
第42章 要求被調用的Activity 返回數據. 317
第8 部分 Broadcast Receiver、Service和App Widget
第43章 Broadcast Intent 和Broadcast Receiver .. 323
43-1 程式廣播Intent對象的方法.. 323
43-2 建立Broadcast Receiver監聽廣播信息 324
43-3 範例程式. 325
第44章 Service是幕後英雄. 330
44-1 Service 的運行方式和生命周期 330
44-2 在App項目中建立Service. 331
44-3 啟動Service的第一種方法. 334
44-4 啟動Service的第二種方法. 334
44-5 範例程式. 335
第45章 App Widget小工具程式. 340
45-1 簡述App Widget小工具程式 340
45-2 建立基本的App Widget程式 341
第46章 使用Alarm Manager 強化App Widget 程式 347
46-1 建立強化版的App Widget程式.. 347
46-2 取得並更新App Widget程式的畫面 351
第47章 App Widget程式的其他兩種運行模式 354
47-1 預定運行時間的App Widget . 354
47-2 利用按鈕啟動App Widget .. 356
第9 部分 Activity 的生命周期與高級功能
第48章 Activity 的生命周期.. 360
第49章 幫Activity 加上選單. 364
49-1 onCreateOptionsMenu的功能.. 365
49-2 onOptionsItemSelected的功能. 365
49-3 建立XML格式的選單定義檔案. 366
49-4 範例程式. 367
第50章 使用Context Menu.. 373
50-1 Context Menu 的用法和限制.. 373
50-2 範例程式. 374
第51章 在Action Bar 加上功能選項. 378
51-1 控制Action Bar .. 379
51-2 在Action Bar加上Action Item. 380
51-3 在Action Bar加上Action View 381
51-4 範例程式. 382
第52章 在Action Bar 上建立Tab 標籤頁.. 387
第53章 在狀態欄中顯示信息 395
第10 部分 存儲程式的數據
第54章 使用SharedPreferences 存儲數據.. 401
54-1 存儲數據的步驟. 401
54-2 讀取數據的步驟. 402
54-3 刪除數據的步驟. 402
54-4 清空數據的步驟. 403
54-5 範例程式. 403
第55章 使用SQLite資料庫存儲數據.. 407
55-1 進入模擬器的Linux 命令行模式操作SQLite資料庫 407
55-2 SQLiteOpenHelper的功能和用法 409
55-3 SQLiteDatabase 的功能和用法.. 410
55-4 範例程式. 410
第56章 使用Content Provider 跨程式存取數據. 417
56-1 Activity 和Content Provider之間的運行機制. 417
56-2 範例程式. 420
第57章 使用檔案存儲數據. 426
57-1 將數據寫入檔案的方法. 426
57-2 從檔案讀取數據的方法. 427
57-3 範例程式. 428
第11 部分 App 項目的準備工作和發布
第58章 支持各種語言和多種螢幕模式. 434
58-1 讓App支持多語言的方法.. 436
58-2 讓App支持多種螢幕模式.. 437
58-3 範例程式. 438
第59章 利用Fragment 技術讓App 適用於不同螢幕尺寸的設備 442
第60章 獲取螢幕的寬度、高度和解析度 452
60-1 取得螢幕的寬度、高度和解析度 452
60-2 取得App 畫面的寬和高 453
第61章 在網路上發布App 以及安裝到實體設備 455
61-1 利用Export Wizard幫App加上數字簽名和完成zipalign . 456
61-2 將App上傳到Google Play 網站. 459
第12 部分 2D和3D 繪圖
第62章 使用Drawable 對象繪圖 461
62-1 從res/drawable 資料夾的圖像檔案建立Drawable 對象 461
62-2 在res/drawable 資料夾建立Drawable對象定義檔案. 462
62-3 在程式中建立Drawable類型的對象 463
62-4 範例程式. 464
第63章 使用Canvas 繪圖. 467
第64章 使用View在Canvas上繪製動畫. 470
64-1 產生動畫的原理. 470
64-2 範例程式. 471
第65章 使用SurfaceView進行高速繪圖 475
65-1 使用SurfaceView的步驟. 475
65-2 範例程式. 476
第66章 3D 繪圖.. 481
66-1 3D 繪圖的基本概念. 481
66-2 3D 繪圖程式. 483
第13 部分 拍照、錄音、錄像與多媒體播放
第67章 使用MediaPlayer 建立音樂播放器.. 490
67-1 音樂播放程式的架構.. 490
67-2 MediaPlayer類的用法 491
67-3 範例程式. 494
第68章 播放背景音樂和Audio Focus . 502
68-1 利用Service對象運行MediaPlayer .. 502
68-2 使用狀態欄信息控制Foreground Service .. 504
68-3 使用Audio Focus和Wake Lock.. 506
68-4 播放不同來源的檔案.. 507
68-5 範例程式. 508
第69章 錄音程式 519
69-1 MediaRecorder 類的用法.. 519
69-2 範例程式. 522
第70章 播放影片 527
70-1 Android 支持的圖像和影片的檔案格式. 527
70-2 使用VideoView和MediaController.. 528
第71章 拍照程式 533
71-1 Camera 對象和SurfaceView 的合作. 533
71-2 範例程式. 535
第72章 錄像程式 541
72-1 Camera 和MediaRecorder通力合作. 541
72-2 在界面布局檔案中建立SurfaceView 542
72-3 範例程式. 543
第14 部分 WebView 與網頁處理
第73章 WebView 的網頁瀏覽功能 552
73-1 WebView 的用法 552
73-2 範例程式. 554
第74章 自己打造網頁瀏覽器 557
74-1 WebView 的高級用法. 558
74-2 WebViewClient和WebChromeClient 559
74-3 範例程式. 561
第75章 JavaScript和Android 程式之間的調用.. 568
75-1 從JavaScript調用Android程式代碼 568
75-2 從Android 程式調用JavaScript的function . 570
75-3 使用WebView的loadData() . 571
75-4 範例程式. 572
第15 部分 開發NFC 應用程式
第76章 NFC 程式設計. 579
76-1 Android 系統處理NFC tag數據的方式.. 580
76-2 開發NFC應用程式. 582
第77章 把數據寫入NFC tag 585
77-1 Android Application Record(AAR) 586
77-2 Android Beam .. 587
第78章 NFC 的高級用法 589
第16 部分 支持Android Wear 穿戴式設備
第79章 安裝Android Wear 開發工具.. 595
79-1 下載和安裝Android Wear開發工具. 596
79-2 讓Android Wear模擬器連線到手機或平板電腦.. 598
第80章 Android Wear 的功能和基本用法.. 601
第81章 Android Wear 專用的Notification 格式.. 608
81-1 設定Notification 信息的格式 608
81-2 使用WearableExtender 設定Android Wear專用的格式.. 610
第82章 使用Android Wear 的語音回復功能 613
第83章 開發Android Wear 設備的App . 618
83-1 建立Android Wear App 的步驟 619
83-2 幫Android Wear App 加入UI組件和程式代碼. 623
第84章 手機App與Android Wear App互傳數據及Message 626
84-1 傳送Message 627
84-2 傳送數據. 632
84-3 範例程式. 633
第85章 製作Android Wear App 的安裝檔案 637