《Android 開發範例代碼大全(第2版)》是2014年由清華大學出版社出版的圖書,作者是斯密斯、弗里森。
基本介紹
- 書名:Android 開發範例代碼大全(第2版)
- 作者:[美]Dave Smith,Jeff Friesen
- 譯者:趙凱,陶冶
- 出版社:清華大學出版社
- 出版時間:2014年4月1日
- 定價:98 元
- 裝幀:平裝
- ISBN:9787302354833
內容簡介,圖書目錄,
內容簡介
《Android 開發範例代碼大全(第2版)》教會你如何使用行之有效的解決方案來開發一流的應用程式。首先確定問題,然後通過有效的代碼示例給出詳細的解決方案。更實用的是,可以將本書中的代碼示例直接套用到你自己的應用程式中,從而節省大量的開發時間。
本書採用100多個真實範例來指導你如何:
● 使用外部庫來提高工作效率
● 使用Android NDK和Renderscript來提高應用程式的性能
● 設計高性能、回響及時、無縫銜接的應用程式
● 在設備和其他外部硬體間傳輸數據
● 持久化應用程式的數據並在不同的應用程式間共用
● 捕捉和播放各種設備中的媒體類型
● 與Web服務進行互動
● 合理利用用戶界面
● 分別通過命令行方式的Android SDK和Eclipse的Android SDK環境開發一個單位換算應用程式
圖書目錄
第1章Android入門 1
1.1Android簡介 1
1.2Android的發展史 2
1.3Android架構 4
1.4應用程式架構 7
1.4.1組件 7
1.4.2資源 25
1.4.3Manifest檔案 33
1.4.4應用程式包 36
1.4.5安裝AndroidSDK 36
1.4.6安裝Android平台 39
1.4.7創建Android虛擬設備 42
1.4.8啟動AVD 44
1.4.9Univerter簡介 48
1.4.10創建Univerter 50
1.4.11安裝和運行Univerter 52
1.4.12準備Univerter在GooglePlay上發布 55
1.4.13移植到Eclipse 60
1.4.14用Eclipse創建和運行Univerter 63
1.5小結 66
第2章用戶界面範例 67
2.1自定義視窗 67
2.1.1問題 67
2.1.2解決方案 67
2.1.3實現機制 67
2.2創建並顯示視圖 77
2.2.1問題 77
2.2.2解決方案 77
2.2.3實現機制 78
2.3監控單擊動作 79
2.3.1問題 79
2.3.2解決方案 80
2.3.3實現機制 80
2.4適用於多種螢幕解析度的圖形資源 81
2.4.1問題 81
2.4.2解決方案 81
2.4.3實現機制 82
2.5鎖定Activity方向 83
2.5.1問題 83
2.5.2解決方案 83
2.5.3實現機制 83
2.6動態方向鎖定 84
2.6.1問題 84
2.6.2解決方案 84
2.6.3實現機制 84
2.7手動處理旋轉 86
2.7.1問題 86
2.7.2解決方案 86
2.7.3實現機制 87
2.8創建彈出選單動作 88
2.8.1問題 88
2.8.2解決方案 88
2.8.3實現機制 88
2.9顯示一個用戶對話框 93
2.9.1問題 93
2.9.2解決方案 93
2.9.3實現機制 94
2.10自定義選項選單 98
2.10.1問題 98
2.10.2解決方案 98
2.10.3實現機制 98
2.11自定義返回按鍵 101
2.11.1問題 101
2.11.2解決方案 101
2.11.3實現機制 101
2.12模擬Home按鍵 104
2.12.1問題 104
2.12.2解決方案 104
2.12.3實現機制 104
2.13監控TextView的變動 105
2.13.1問題 105
2.13.2解決方案 105
2.13.3實現機制 105
2.14自動滾動的TextView 107
2.14.1問題 107
2.14.2解決方案 108
2.14.3實現機制 108
2.15動畫視圖 109
2.15.1問題 109
2.15.2解決方案 109
2.15.3實現機制 109
2.16布局變化時的動畫 119
2.16.1問題 119
2.16.2解決方案 119
2.16.3實現機制 120
2.17用Drawable做背景 122
2.17.1問題 122
2.17.2解決方案 123
2.17.3實現機制 123
2.18創建自定義狀態的Drawable 128
2.18.1問題 128
2.18.2解決方案 128
2.18.3實現機制 128
2.19將遮罩套用到圖片 130
2.19.1問題 130
2.19.2解決方案 130
2.19.3實現機制 130
2.20創建持久的對話框 134
2.20.1問題 134
2.20.2解決方案 134
2.20.3實現機制 134
2.21實現針對具體場景的布局 136
2.21.1問題 136
2.21.2解決方案 136
2.21.3實現機制 136
2.22自定義鍵盤動作 143
2.22.1問題 143
2.22.2解決方案 144
2.22.3實現機制 144
2.23隱藏軟鍵盤 146
2.23.1問題 146
2.23.2解決方案 146
2.23.3實現機制 147
2.24自定義AdapterView的空視圖 147
2.24.1問題 147
2.24.2解決方案 147
2.24.3實現機制 147
2.25自定義ListView行 149
2.25.1問題 149
2.25.2解決方案 149
2.25.3實現機制 149
2.26製作ListView的節頭部 153
2.26.1問題 153
2.26.2解決方案 153
2.26.3實現機制 153
2.27創建組合控制項 156
2.27.1問題 156
2.27.2解決方案 156
2.27.3實現機制 157
2.28處理複雜的單擊事件 160
2.28.1問題 160
2.28.2解決方案 160
2.28.3實現機制 161
2.29轉發觸摸事件 177
2.29.1問題 177
2.29.2解決方案 177
2.29.3實現機制 177
2.30創建拖放視圖 181
2.30.1問題 181
2.30.2解決方案 181
2.30.3實現機制 182
2.31自定義過渡動畫 188
2.31.1問題 188
2.31.2解決方案 188
2.31.3實現機制 189
2.32創建視圖變換 198
2.32.1問題 198
2.32.2解決方案 198
2.32.3實現機制 198
2.33視圖之間滑動 204
2.33.1問題 204
2.33.2解決方案 204
2.33.3實現機制 204
2.34創建模組化接口 214
2.34.1問題 214
2.34.2解決方案 214
2.34.3實現機制 214
2.35高性能繪製 223
2.35.1問題 223
2.35.2解決方案 224
2.35.3實現機制 224
2.36實用工具推薦:HierarchyViewer和Lint 234
2.37HierarchyViewer 234
2.38瀏覽ViewHierarchy視窗 236
2.39TreeView中的單個視圖 238
2.40使用ViewHierarchy進行調試 238
2.41瀏覽PixelPerfect視窗 239
2.42使用PixelPerfectOverlays 241
2.43Lint 241
2.44運行Lint 242
2.45小結 245
第3章通信和聯網 247
3.1顯示Web信息 247
3.1.1問題 247
3.1.2解決方案 247
3.1.3實現機制 247
3.2攔截WebView事件 251
3.2.1問題 251
3.2.2解決方案 251
3.2.3實現機制 251
3.3訪問帶JavaScript的WebView 253
3.3.1問題 253
3.3.2解決方案 253
3.3.3實現機制 253
3.4下載一個圖片檔案 255
3.4.1問題 255
3.4.2解決方案 256
3.4.3實現機制 256
3.5完全在後台下載 259
3.5.1問題 259
3.5.2解決方案 259
3.5.3實現機制 259
3.6訪問RESTAPI 262
3.6.1問題 262
3.6.2解決方案 262
3.6.3實現機制 263
3.7解析JSON 286
3.7.1問題 286
3.7.2解決方案 286
3.7.3實現機制 286
3.8解析XML 289
3.8.1問題 289
3.8.2解決方案 289
3.8.3實現機制 289
3.9接收簡訊 299
3.9.1問題 299
3.9.2解決方案 299
3.9.3實現機制 299
3.10傳送簡訊 300
3.10.1問題 300
3.10.2解決方案 301
3.10.3實現機制 301
3.11藍牙通信 303
3.11.1問題 303
3.11.2解決方案 303
3.11.3實現機制 303
3.12查詢網路連線狀態 312
3.12.1問題 312
3.12.2解決方案 312
3.12.3實現機制 312
3.13使用NFC傳輸數據 314
3.13.1問題 314
3.13.2解決方案 314
3.13.3實現機制 314
3.14USB連線 321
3.14.1問題 321
3.14.2解決方案 321
3.14.3實現機制 322
3.15小結 330
第4章實現設備硬體互動與媒體互動 331
4.1整合設備位置 331
4.1.1問題 331
4.1.2解決方案 331
4.1.3實現機制 332
4.2地圖位置 335
4.2.1問題 335
4.2.2解決方案 335
4.2.3實現機制 336
4.3在地圖上標記位置 339
4.3.1問題 339
4.3.2解決方案 339
4.3.3實現機制 339
4.4拍攝照片和視頻 344
4.4.1問題 344
4.4.2解決方案 344
4.4.3實現機制 344
4.5自定義攝像頭覆蓋層 349
4.5.1問題 349
4.5.2解決方案 349
4.5.3實現機制 349
4.6錄製音頻 356
4.6.1問題 356
4.6.2解決方案 356
4.6.3實現機制 356
4.7自定義視頻採集 358
4.7.1問題 358
4.7.2解決方案 358
4.7.3實現機制 358
輸出格式方向 362
4.8添加語音識別 362
4.8.1問題 362
4.8.2解決方案 362
4.8.3實現機制 363
4.9播放音頻/視頻 365
4.9.1問題 365
4.9.2解決方案 365
4.9.3實現機制 365
4.10播放音效 373
4.10.1問題 373
4.10.2解決方案 373
4.10.3實現機制 373
4.11創建傾斜監控器 376
4.11.1問題 376
4.11.2解決方案 376
4.11.3實現機制 376
4.12監控羅盤的方向 379
4.12.1問題 379
4.12.2解決方案 379
4.12.3實現機制 380
4.13在媒體內容中獲取元數據 383
4.13.1問題 383
4.13.2解決方案 383
4.13.3實現機制 383
4.14實用工具推薦:
SensorSimulator 386
4.15獲得SensorSimulator 387
4.16啟動SensorSimulatorSettings和SensorSimulator 387
4.17在自己的應用程式中訪問SensorSimulator 391
4.18小結 392
第5章數據持久化 393
5.1製作設定界面 393
5.1.1問題 393
5.1.2解決方案 393
5.1.3實現機制 393
5.2簡單數據存儲 398
5.2.1問題 398
5.2.2解決方案 399
5.2.3實現機制 399
5.3讀寫檔案 403
5.3.1問題 403
5.3.2解決方案 403
5.3.3實現機制 404
5.4以資源的形式使用檔案 409
5.4.1問題 409
5.4.2解決方案 409
5.4.3實現機制 409
5.5管理資料庫 412
5.5.1問題 412
5.5.2解決方案 412
5.5.3實現機制 412
5.6查詢資料庫 417
5.6.1問題 417
5.6.2解決方案 417
5.6.3實現機制 418
5.7備份數據 419
5.7.1問題 419
5.7.2解決方案 419
5.7.3實現機制 419
5.8分享資料庫 423
5.8.1問題 423
5.8.2解決方案 424
5.8.3實現機制 424
5.9分享SharedPreference 430
5.9.1問題 430
5.9.2解決方案 430
5.9.3實現機制 431
5.10分享其他數據 440
5.10.1問題 440
5.10.2解決方案 440
5.10.3實現機制 440
5.11實用工具推薦:SQLite3 446
5.12Univerter和SQLite3 448
5.12.1創建資料庫 450
5.12.2擴展Category和Conversion類 451
5.12.3DBHelper類簡介 453
5.12.4擴展Univerter類 457
5.12.5運行改進後的Univerter應用程式 458
5.13小結 459
第6章與系統互動 461
6.1後台通知 461
6.1.1問題 461
6.1.2解決方案 461
6.1.3實現機制 461
6.2創建定時和周期任務 469
6.2.1問題 469
6.2.2解決方案 469
6.2.3實現機制 469
6.3定時執行周期任務 470
6.3.1問題 470
6.3.2解決方案 471
6.3.3實現機制 471
6.4創建粘性操作 474
6.4.1問題 474
6.4.2解決方案 474
6.4.3實現機制 475
6.5長時間運行的後台操作 479
6.5.1問題 479
6.5.2解決方案 479
6.5.3實現機制 480
6.6啟動其他應用程式 485
6.6.1問題 485
6.6.2解決方案 485
6.6.3實現機制 486
6.7啟動系統應用程式 489
6.7.1問題 489
6.7.2解決方案 489
6.7.3實現機制 489
6.8讓其他應用程式啟動你的應用程式 493
6.8.1問題 493
6.8.2解決方案 494
6.8.3實現機制 494
6.9與聯繫人互動 496
6.9.1問題 496
6.9.2解決方案 496
6.9.3實現機制 496
6.10設備媒體檔案選擇器 503
6.10.1問題 503
6.10.2解決方案 503
6.10.3實現機制 503
6.11保存到MediaStore 505
6.11.1問題 505
6.11.2解決方案 505
6.11.3實現機制 505
6.12與日曆的互動 508
6.12.1問題 508
6.12.2解決方案 508
6.12.3實現機制 508
6.13執行日誌代碼 514
6.13.1問題 514
6.13.2解決方案 515
6.13.3實現機制 515
6.14創建後台工作執行緒 517
6.14.1問題 517
6.14.2解決方案 517
6.14.3實現機制 517
6.15自定義任務棧 522
6.15.1問題 522
6.15.2解決方案 522
6.15.3實現機制 522
6.16實現APPWidget 529
6.16.1問題 529
6.16.2解決方案 529
6.16.3實現機制 530
6.17小結 550
第7章使用庫 551
7.1創建Java庫JAR 551
7.1.1問題 551
7.1.2解決方案 551
7.1.3實現機制 552
7.2使用Java庫JAR 554
7.2.1問題 554
7.2.2解決方案 554
7.2.3實現機制 554
7.3創建Android庫項目 557
7.3.1問題 557
7.3.2解決方案 557
7.3.3實現機制 557
7.4使用Android庫項目 561
7.4.1問題 561
7.4.2解決方案 561
7.4.3實現機制 561
7.5繪圖 565
7.5.1問題 565
7.5.2解決方案 565
7.5.3實現機制 565
7.6訊息推送實戰 577
7.6.1問題 577
7.6.2解決方案 577
7.6.3實現機制 578
7.7使用Google的支持包 585
7.7.1問題 585
7.7.2解決方案 585
7.7.3實現機制 587
7.8小結 590
第8章使用AndroidNDK和
Renderscript 591
8.1AndroidNDK 591
8.1.1安裝NDK 592
8.1.2瀏覽NDK 595
8.1.3來自NDK的問候 596
8.1.4NDK示例 602
8.2發現本地Activity 604
8.2.1問題 604
8.2.2解決方案 604
8.2.3實現機制 605
8.3開發Low-Level本地
Activity 605
8.3.1問題 605
8.3.2解決方案 605
8.3.3實現機制 607
8.4開發High-Level的本地
Activity 615
8.4.1問題 615
8.4.2解決方案 615
8.4.3實現機制 616
8.5Renderscript 621
8.5.1瀏覽Renderscript架構 622
8.5.2使用Renderscript對圖像進行灰度化處理 624
8.6了解更多關於Renderscript的知識 631
8.6.1問題 631
8.6.2解決方案 632
8.6.3實現機制 632
8.7小結 635
附錄AAndroid的腳本層 637
A.1安裝SL4A 637
A.2瀏覽SL4A 638
A.2.1添加Shell腳本 639
A.2.2訪問LinuxShell 641
A.3安裝Python解釋器 641
A.4編寫Python腳本 644
附錄BAndroid工具一覽 647
B.1SDK工具 647
B.1.1android 647
B.1.2apkbuilder 652
B.1.3ddms 652
B.1.4dmtracedump 652
B.1.5draw9patch 653
B.1.6emulator 653
B.1.7etc1tool 658
B.1.8hierarchyviewer 658
B.1.9hprof-conv 659
B.1.10lint 659
B.1.11mksdcard 660
B.1.12monitor 661
B.1.13monkeyrunner 661
B.1.14sqlite3 662
B.1.15systrace 663
B.1.16traceview 665
B.1.17OpenGLES的Tracer工具 665
B.1.18zipalign 665
B.2平台工具 666
B.2.1aapt 666
B.2.2adb 667
B.2.3aidl 668
B.2.4dexdump 668
B.2.5dx 669
B.2.6fastboot 669
B.2.7llvm-rs-cc 670
附錄C應用程式設計指南 673
C.1設計經過濾的應用程式 673
C.1.1問題 673
C.1.2解決方案 673
C.2設計高性能的應用程式 675
C.2.1問題 675
C.2.2解決方案 675
C.3設計快速回響的應用程式 676
C.3.1問題 676
C.3.2解決方案 677
C.4設計無縫銜接的應用程式 677
C.4.1問題 677
C.4.2解決方案 678
C.5設計安全的應用程式 679
C.5.1問題 679
C.5.2解決方案 679
附錄DUniverter的結構 681
D.1原始碼 681
D.1.1Converter接口 681
D.1.2Conversion類 682
D.1.3Category類 683
D.1.4Univerter類 685
D.1.5Univerter中的變數 686
D.1.6Univerter的方法 688
D.2瀏覽資源檔案 701
D.2.1應用程式啟動器圖示資源 702
D.2.2背景Drawable資源 702
D.2.3瀏覽主布局資源檔案 703
D.2.4瀏覽列表中每行的布局資源 708
D.2.5瀏覽選項選單的資源 709
D.2.6瀏覽Help對話框布局資源 710
D.2.7瀏覽顯示Info對話框的布局資源 710
D.2.8瀏覽顏色資源 712
D.2.9瀏覽字元串資源 712
D.2.10瀏覽樣式資源 713
D.3瀏覽Manifest檔案 714