Android套用開發攻略

Android套用開發攻略

《Android套用開發攻略》是2013年機械工業出版社華章公司出版的圖書,作者是IanF.Darwin。

基本介紹

  • 作者:Ian F. Darwin
  • 譯者:姚軍
  • ISBN:9787111414117
  • 頁數:648
  • 定價:99.00元
  • 出版社:機械工業出版社華章公司
  • 出版時間:2013-3-31
  • 裝幀:平裝
  • 原作名:Android Cookbook
內容介紹,作者介紹,作品目錄,

內容介紹

在200多個經過測試的攻略幫助下,你可以投入構建Android套用的工作中。通過本書,你能找到有關用戶界面、多點觸摸手勢、位置感知、Web服務以及電話、相機、加速計等設備功能的解決方案。你還能夠得到為Android Market包裝應用程式的有用步驟。
本書適合於熟悉Java、Android基礎知識和Java SE API的開發人員,其中的攻略由30多位Android社區的開發人員貢獻。每個攻略都提供了清晰的解決方案和可以馬上用於項目中的樣例代碼。在大量的主題中,本書能夠幫助你:
運用指導原則設計成功的Android應用程式
使用UI控制項、高效的布局和圖形元素
學習如何在應用程式中利用Android的豐富特性
存儲和讀取檔案、SD卡和嵌入式資料庫中的應用程式數據
訪問REST風格的Web服務、RSS/Atom 源以及來自網站的信息
創建位置感知服務,尋找位置和地標、並在Google Maps和OpenStreetMap上加以標註
測試單獨組件和整個應用程式並排除故障

作者介紹

Ian F.Darwin是一位軟體開發人員、顧問和教師,有著30餘年的計算機從業經驗。他是《Checking C Programs with Lint》、《Java Cookbook》(均由O'Reilly出版)的作者,還撰寫了100多篇文章和教程,內容涵蓋了UNIX、C、Java、Mac、Python、Android和Web等。

作品目錄

前言 1
第1章 入門 9
1.1 導言:入門 9
1.2 學習Java語言 9
1.3 從命令行創建“Hello, World”應用程式 11
1.4 在Eclipse中創建“Hello, World”應用程式 14
1.5 在Windows上安裝用於Android開發的IDE 21
1.6 理解Android生命周期 28
1.7 通過ADB在模擬器上安裝.apk檔案 29
1.8 通過SlideME將應用程式安裝到模擬器上 30
1.9 共享來自其他Eclipse項目的Java類 31
1.10 引用程式庫實現外部功能 34
1.11 使用SDK樣例避免棘手的情況 37
1.12 保持Android SDK更新 40
1.13 從模擬器/Android設備獲得螢幕截圖 47
1.14 程式:簡單的CountDownTimer示例 49
1.15 程式: Android OS下的小費計算器Tipster 52
第2章 設計成功的應用程式 69
2.1 導言:設計成功的Android應用程式 69
2.2 異常處理 72
2.3 作為“單例”訪問Android應用程式對象 75
2.4 在用戶旋轉設備時保存數據 77
2.5 監控Android設備的電量 79
2.6 在Android中創建閃屏 80
2.7 設計會議/網路研討/編程馬拉松/機構用的應用程式 85
2.8 在Android套用中使用Google Analytics 86
2.9 簡單的手電筒應用程式 88
2.10 將Android手機應用程式改編為平板電腦應用程式 91
2.11 設定首次運行的首選項 93
2.12 為顯示格式化時間和日期 94
2.13 用KeyListener控制輸入 96
2.14 備份Android應用程式數據 99
2.15 用提示代替工具提示 106
第3章 測試 108
3.1 導言:測試 108
3.2 在Android中進行TDD 108
3.3 為套用測試設定Android虛擬設備(AVD) 109
3.4 用基於雲的測試在多種設備上進行測試 118
3.5 測試項目的創建和使用 119
3.6 應用程式崩潰排錯 123
3.7 用Log.d和LogCat進行調試 126
3.8 用BugSense自動從用戶那裡得到缺陷報告 127
3.9 使用本地運行時應用程式日誌分析現場錯誤情況 129
3.10 為測試重現活動生命周期場景 133
3.11 用StrictMode保持應用程式敏捷性 138
3.12 運行Monkey程式 139
3.13 傳送文本訊息以及AVD之間的通話 141
第4章 進程間/內通信 143
4.1 導言:進程間/內通信 143
4.2 用意圖打開網頁、電話號碼或者其他內容 144
4.3 從視圖中傳送文本郵件 145
4.4 傳送帶有附屬檔案的電子郵件 148
4.5 用Intent.putExtra()推送字元串值 149
4.6 從子活動中獲取數據到主活動中 151
4.7 保持服務運行同時顯示其他套用 154
4.8 傳送/接收廣播訊息 156
4.9 在設備重啟之後啟動服務 156
4.10 用執行緒創建回響式應用程式 157
4.11 用AsyncTask進行後台處理 159
4.12 用活動執行緒佇列和處理器線上程之間傳送訊息 167
4.13 創建Android Epoch HTML/JavaScript日曆 168
第5章 內容提供者 175
5.1 導言:內容提供者 175
5.2 從內容提供者獲取數據 175
5.3 編寫內容提供者 177
5.4 編寫Android遠程服務 179
第6章 圖形 184
6.1 導言:圖形 184
6.2 使用自定義字型 184
6.3 用OpenGL ES繪製旋轉的方塊 187
6.4 添加對OpenGL旋轉方塊的控制 191
6.5 徒手繪製平滑曲線 194
6.6 使用意圖拍照 199
6.7 用android.media.Camera拍照 201
6.8 用Google ZXing條碼掃描程式掃描條形碼或QR代碼 204
6.9 用AndroidPlot顯示圖表和圖形 208
6.10 使用Inkscape創建Android啟動器圖示 210
6.11 從OpenClipArt.org用Paint.NET創建簡易啟動器圖示 217
6.12 使用Nine Patch檔案 223
6.13 用Android RGraph創建HTML5圖表 227
6.14 添加簡單的光柵動畫 231
6.15 使用捏合縮放 234
第7章 GUI 237
7.1 導言:GUI 237
7.2 理解並遵循用戶界面指南 238
7.3 通過解耦視圖和模型處理配置更改 239
7.4 創建一個按鈕及其單擊事件監聽器 242
7.5 以5種不同的方式連線事件處理器 243
7.6 使用CheckBox和RadioButton控制項 248
7.7 用圖形按鈕改進UI設計 251
7.8 通過Spinner類提供下拉選擇器 254
7.9 處理長按/長單擊事件 256
7.10 用TextView和EditText顯示文本欄位 258
7.11 用屬性和TextWatcher接口限制EditText值 259
7.12 實現AutoCompleteTextView 261
7.13 用SQLite資料庫查詢為AutoCompleteTextView提供數據 263
7.14 將編輯欄位轉換為密碼欄位 265
7.15 將軟鍵盤上的Enter鍵改成Next鍵 266
7.16 在活動中處理按鍵事件 269
7.17 讓他們看到星標:使用RatingBar 270
7.18 震動視圖 274
7.19 提供觸覺反饋 275
7.20 在TabView中瀏覽不同的活動 279
7.21 創建自定義標題欄 280
7.22 格式化數字 283
7.23 格式化正確的複數形式 287
7.24 從第一個螢幕啟動第二個螢幕 290
7.25 創建出現在兩個活動之間的“載入中”螢幕 299
7.26 使用SlidingDrawer覆蓋其他組件 300
7.27 自定義SlidingDrawer組件,使動畫/過渡的方向變為從上向下 303
7.28 為布局添加圓角框線 305
7.29 在Android中檢測手勢 306
7.30 在Android 1.6及更新版本中用Android 3.0片段構建UI 314
7.31 使用Android 3.0 Photo Gallery 318
7.32 創建簡單的應用程式視窗部件 321
第8章 GUI警告:選單、對話框、Toast和通知 326
8.1 導言:GUI警告 326
8.2 創建和顯示選單 327
8.3 處理選單選擇項 328
8.4 創建子選單 330
8.5 創建彈出/警告對話框 333
8.6 使用Timepicker視窗小部件 334
8.7 創建類似iPhone的滾輪選擇器 336
8.8 創建標籤式對話框 340
8.9 創建ProgressDialog 342
8.10 創建帶有按鈕、圖像和文本的自定義對話框 344
8.11 創建可重用的“關於”對話框類 346
8.12 自定義Toast顯示 350
8.13 在狀態欄中創建通知 352
第9章 GUI:ListView 358
9.1 導言:ListView 358
9.2 用ListView構建基於列表的應用程式 358
9.3 為ListView創建“無數據”視圖 362
9.4 創建具有圖像和文本的高級ListView 363
9.5 在ListView中使用段標題 368
9.6 使用戶的注意力保持在ListView上 373
9.7 編寫自定義列表適配器 374
9.8 處理方向變化:從ListView數據值到橫向圖表 377
第10章 多媒體 383
10.1 導言:多媒體 383
10.2 播放YouTube視頻 383
10.3 使用Gallery和ImageSwitcher視圖 384
10.4 用MediaRecorder捕捉視頻 387
10.5 使用Android的面部檢測功能 390
10.6 播放來自檔案的音頻 393
10.7 無互動播放音頻 396
10.8 使用語音識別功能 397
10.9 使用設備的朗讀功能 399
第11章 數據持久性 401
11.1 導言:數據持久性 401
11.2 獲得檔案信息 401
11.3 讀取套用自帶而非檔案系統中的檔案 405
11.4 列出目錄 406
11.5 獲得關於SD卡的總空間和可用空間的信息 408
11.6 花費最小的精力提供用戶首選項設定活動 409
11.7 檢查默認共享首選項的一致性 413
11.8 執行高級文本搜尋 415
11.9 在Android應用程式中創建SQLite資料庫 420
11.10 在SQLite資料庫中插入數值 422
11.11 從現有的SQLite資料庫載入數值 422
11.12 在SQLite中使用日期 423
11.13 用JSONObject解析JSON 426
11.14 用DOM API解析XML文檔 427
11.15 用XmlPullParser解析XML文檔 429
11.16 添加聯繫人 433
11.17 讀取聯繫人數據 435
第12章 電話應用程式 439
12.1 導言:電話應用程式 439
12.2 在電話鈴響的時候進行某些操作 439
12.3 處理呼出電話 443
12.4 電話自動撥號 447
12.5 傳送單部分和多部分SMS訊息 448
12.6 在Android應用程式中接收SMS訊息 451
12.7 使用模擬器控制臺向模擬器傳送SMS訊息 453
12.8 使用Android的TelephonyManager獲得設備信息 453
第13章 聯網應用程式 464
13.1 導論:網路 464
13.2 使用REST風格的Web服務 465
13.3 用正則表達式從無結構文本中提取信息 467
13.4 用ROME解析RSS/Atom Feed 469
13.5 用MD5加密明文 473
13.6 將文本轉換為超連結 474
13.7 用WebView訪問網頁 475
13.8 自定義WebView 476
第14章 遊戲與動畫 478
14.1 導論:遊戲與動畫 478
14.2 用flixel-android構建Android遊戲 479
14.3 用AndEngine(Android-Engine)構建Android遊戲 482
14.4 處理定時鍵盤輸入 488
第15章 社交網路 490
15.1 導言:社交網路 490
15.2 用HTTP集成社交網路 490
15.3 用JSON載入用戶的Twitter動態 493
第16章 位置和地圖應用程式 496
16.1 導言:位置感知應用程式 496
16.2 獲得位置信息 496
16.3 在應用程式中訪問GPS信息 498
16.4 在設備上模擬GPS坐標 500
16.5 使用地理解析和反向地理解析 503
16.6 準備Google Maps開發 504
16.7 將設備當前位置添加到Google Maps 511
16.8 在Google MapView上繪製位置標誌 512
16.9 在MapView上繪製多個位置標誌 516
16.10 為Google MapView創建圖層 521
16.11 改變Google MapView的模式 523
16.12 在不使用Drawble對象的情況下繪製圖層圖示 523
16.13 在Google Maps上實現位置搜尋 529
16.14 在一個TabView中放置MapView 530
16.15 處理MapView的長按動作 533
16.16 使用OpenStreetMap 537
16.17 在OpenStreetMap地圖上創建圖層 540
16.18 在OpenStreetMap地圖上使用比例尺 543
16.19 處理OpenStreetMap圖層上的觸摸事件 544
16.20 用OpenStreetMap地圖獲得位置的更新 546
第17章 加速計 551
17.1 導言:感測器 551
17.2 檢查感測器是否存在 551
17.3 使用加速計檢測設備的搖晃 552
17.4 用加速計根據螢幕方向檢查設備是向上還是向下 556
17.5 用方向感測器發現Android設備的方向 557
17.6 讀取溫度感測器 559
第18章 藍牙 560
18.1 導言:藍牙 560
18.2 啟用藍牙並使設備處於可發現狀態 560
18.3 連線啟用藍牙的設備 562
18.4 監聽和接收藍牙連線請求 565
18.5 實現藍牙設備發現 566
第19章 系統與設備控制 568
19.1 導言:系統與設備控制 568
19.2 訪問電話網路/連線性信息 568
19.3 從清單檔案獲取信息 569
19.4 將來電通知改為靜音、振動或者普通 570
19.5 複製文本以及從剪貼簿獲取文本 572
19.6 使用基於LED的通知 573
19.7 使設備振動 573
19.8 從應用程式運行Shell命令 575
19.9 確定指定應用程式是否運行 576
第20章 其他程式語言和框架 578
20.1 導言:其他程式語言 578
20.2 運行外部/原生UNIX/Linux命令 579
20.3 在NDK上用JNI運行原生C/C++代碼 580
20.4 從SL4A入手 585
20.5 用SL4A創建警告 588
20.6 使用SL4A讀取Google文檔並在ListView控制項中顯示 592
20.7 用QR碼共享SL4A腳本 594
20.8 從WebView中通過JavaScript使用原生手機功能 597
20.9 用PhoneGap/Cordova創建平台無關的應用程式 599
第21章 字元串和國際化 602
21.1 導言:國際化 602
21.2 國際化應用程式文本 603
21.3 尋找和翻譯字元串 607
21.4 處理Strings.xml的微妙之處 608
第22章 打包、部署和分發/銷售應用程式 614
22.1 導言:打包、部署和分發 614
22.2 創建簽名證書 614
22.3 簽署應用程式 617
22.4 通過Android Play分發應用程式 618
22.5 將AdMob集成到套用中 620
22.6 用ProGuard進行代碼混淆和最佳化 624
22.7 提供Google Play市場中發布的其他套用的連結 627

相關詞條

熱門詞條

聯絡我們