內容簡介
《Android高級編程》首先簡要介紹Android軟體棧,接著陳述為手機創建穩定可靠、賞心悅目的應用程式的基本原理。通過學習,您可以打下牢固的理論根基,了解使用當前Android 1.0 SDK編寫定製移動程式所需的知識,還能靈活快捷地運用未來的增強功能構建最前沿的解決方案。
Android提供一個開放的開發環境,為針對移動設備編寫創新應用程式帶來了激動人心的新機遇。作為使用AndroidSDK構建這些應用程式的實用指南書籍,《Android高級編程》從始至終穿插了一系列示例項目,每個項目都引入Android的新功能和新技術,以助您達到最圓滿的學習效果。書中介紹Android的所有基本功能,並通過簡明扼要的示例引導您使用高級功能。
作者簡介
作者:(英國)梅爾(Reto Meier) 譯者:王鵬傑 霍建同
梅爾(Reto Meier),出生於澳大利西南的珀斯市,現居倫敦。
Reto是一位經驗豐富的軟體開發人員,擁有逾10年的GUI程式架構、設計和開發經驗。他在涉足IT行業前曾從事過海洋石油和天然氣開發以及金融工作。
Reto始終不渝地追求掌握新技術,從2007年Android發布之初Reto就迷戀上了此項技術。他利用業餘時間研究包括WPF在內的多種開發平台以及Google的各種開發工具。
圖書目錄
第1章 Android簡介
1.1 一些背景信息
1.1.1 不遠的過去
1.1.2 未來的前景
1.2 對Android的誤解
1.3 開放的移動開發平台
1.4 自帶的Android應用程式
1.5 Android SDK功能
1.5.1 對包括攝像頭、GPS和加速計在內的硬體的訪問
1.5.2 自帶的Google地圖、地理編碼和基於位置的服務
1.5.3 後台服務
1.5.4 SQLite數據存儲和檢索資料庫
1.5.5 共享數據和應用程式間通信
1.5.6 使用Google Talk的P2P服務
1.5.7 擴展的數據支持和2D/3D圖形
1.5.8 最佳化的記憶體和進程管理
1.6 開放手機聯盟簡介
1.7 運行Android的環境
1.8 從事Android開發的原因
1.8.1 推動Android普及的因素
1.8.2 Android的獨到之處
1.8.3 改變移動開發格局
1.9 開發框架簡介
1.9.1 開發包中的資源
1.9.2 理解Android軟體棧
1.9.3 Dalvik虛擬機
1.9.4 Android應用程式架構
1.9.5 Android庫
1.9.6 高級Android庫
1.10 小結
第2章 開始入手
2.1 Android開發
2.1.1 開始前的準備工作
2.1.2 創建第一個Android活動
2.1.3 Android應用程式的類型
2.2 面向移動設備的開發
2.2.1 關於硬體設計的考慮事項
2.2.2 考慮用戶環境
2.2.3 Android開發
2.3 To-Do List示例
2.4 Android開發工具
2.4.1 Android模擬器
2.4.2 Dalvik調試監控服務(DDMS)
2.4.3 Android調試橋(ADB)
2.5 小結
第3章 創建應用程式和活動
3.1 Android應用程式的組成部分
3.2 程式清單簡介
3.3 使用清單編輯器
3.4 Android應用程式生命周期
3.5 理解應用程式的優先權和進程狀態
3.6 分離資源
3.6.1 創建資源
3.6.2 使用資源
3.6.3 To-DoList資源示例
3.6.4 為不同的語言和硬體創建資源
3.6.5 運行時配置更改
3.7 深入探討Android活動
3.7.1 創建一個活動
3.7.2 活動生命周期
3.7.3 Android活動類
3.8 小結
第4章 創建用戶界面
4.1 Android UI基本設計
4.2 View簡介
4.2.1 使用View創建Activity(活動)用戶界面
4.2.2 Android Widget工具箱
4.3 布局簡介
4.4 創建新的View
4.4.1 修改現有的View
4.4.2 創建複合控制項
4.4.3 創建定製的Widget和控制項
4.4.4 使用定製的控制項
4.5 創建和使用選單
4.5.1 Android選單系統簡介
4.5.2 定義活動的選單
4.5.3 動態更新選單項
4.5.4 處理選單選擇
4.5.5 子選單和上下文選單
4.5.6 To-Do List示例續
4.6 小結
第5章 Intent、廣播接收器、 Adapter和Internet
5.1 Intent簡介
5.1.1 使用Intent來啟動活動
5.1.2 使用Intent Filter來為隱式Intent提供服務
5.1.3 使用Intent Filter作為外掛程式和擴展
5.1.4 使用Intent來廣播事件
5.2 Adapter簡介
5.2.1 Android提供的部分Adapter簡介
5.2.2 使用Adapter綁定數據
5.3 使用Internet資源
5.3.1 連線到Internet資源
5.3.2 利用Internet資源
5.4 Dialog簡介
5.4.1 Dialog類簡介
5.4.2 使用活動作為對話框
5.5 創建一個地震查看器
5.6 小結
第6章 數據存儲、檢索和共享
6.1 Android中的數據保存技術
6.2 保存簡單的應用程式數據
6.2.1 創建和保存preference
6.2.2 檢索共享的preference
6.2.3 保存活動狀態
6.2.4 為地震查看器創建一個Preference頁
6.3 保存和載入檔案
6.3.1 將靜態檔案作為資源添加
6.3.2 檔案管理工具
6.4 Android中的資料庫
6.4.1 SQLite簡介
6.4.2 Cursor和內容值
6.4.3 使用Android資料庫
6.5 內容提供器簡介
6.5.1 使用內容提供器
6.5.2 本地Android內容提供器
6.5.3 創建一個新的內容提供器
6.5.4 創建和使用地震內容提供器
6.6 小結
第7章 地圖、地理編碼和基於位置的服務
7.1 使用基於位置的服務
7.2 使用Test Proyider構建模擬器
7.2.1 更新模擬位置提供器中的位置
7.2.2 創建一個應用程式來管理Test Location Provider
7.3 選擇——個Location Provider
7.3.1 查找可用的提供器
7.3.2 根據要求標準查找提供器
7.4 確定自己所在的位置
7.4.1 “Where Am I”示例
7.4.2 追蹤移動
7.4.3 更新“WhereAmI”示例中的位置
7.5 使用鄰近提醒
7.6 使用Geocoder
7.6.1 反向地理編碼
7.6.2 前向地理編碼
7.6.3 對“Where Am I”示例進行地理編碼
7.7 創建基於地圖的活動
7.7.1 MapView和MapActivity簡介
7.7.2 創建一個基於地圖的活動
7.7.3 配置和使用MapView
7.7.4 使用MapController
7.7.5 對“Where Am I”示例使用地圖
7.7.6 創建和使用覆蓋(Overlay)
7.7.7 MyLocationOverlay簡介
7.7.8 ItemizedOverlay和Overlayltem簡介
7.7.9 將View固定到地圖和地圖的某個位置上
7.8 對Earthquake示例添加地圖功能
7.9 小結
第8章 後台工作
8.1 服務簡介
8.1.1 創建和控制服務
8.1.2 將活動和服務綁定
8.2 使用後台工作執行緒
8.2.1 創建新的執行緒
8.2.2 為GUI操作同步執行緒
8.2.3 將Earthquake Service移動到後台執行緒
8.3 創建一個Toast
8.3.1 定製Toast
8.3.2 在工作(worker)執行緒中使用Toast
8.4 Notification簡介
8.4.1 Notification Manager簡介
8.4.2 創建Notification
8.4.3 觸發Notification
8.4.4 向Earthquake Monitor中添加Notiflcation
8.4.5 高級Notification技術
8.4.6 持續的和連續的Notification
8.5 使用Alarm
8.6 使用Alarm更新Earthquake
8.7 小結
第9章 P2P通信
9.1 Android即時訊息簡介
9.1.1 使用GTalk服務
9.1.2 和GTalk服務綁定
9.1.3 建立GTalk連線,開始一個IM會話
9.1.4 線上狀態和聯繫人列表簡介
9.1.5 管理聊天會話
9.1.6 傳送和接收數據信息
9.2 SMS簡介
9.2.1 在應用程式中使用SMS
9.2.2 傳送SMS信息
9.2.3 監聽SMS訊息
9.2.4 緊急回響的SMS示例
9.2.5 緊急回響自動化
9.3 小結
第10章 訪問Android硬體
10.1 使用媒體API
10.1.1 播放媒體資源
10.1.2 錄製多媒體
10.2 使用攝像頭
10.2.1 控制攝像頭設定
10.2.2 使用攝像頭預覽
10.2.3 照相
10.3 Sensor Manager簡介
10.4 使用加速計和指南針
10.4.1 加速計介紹
10.4.2 檢測加速度的改變
10.4.3 創建一個速度計
10.4.4 確定方向
10.4.5 創建指南針和地平儀
10.5 Android電話功能
10.5.1 打電話
10.5.2 監控電話狀態和電話活動
10.5.3 監控數據連通性和活動
10.5.4 訪問手機的屬性和狀態
10.5.5 控制電話
10.6 使用藍牙
10.6.1 藍牙服務介紹
10.6.2 控制本地藍牙設備
10.6.3 發現並配對藍牙設備
10.6.4 管理藍牙連線
10.6.5 使用藍牙進行通信
10.6.6 使用藍牙耳機
10.7 管理網路和Wi-Fi連線
10.7.1 監控和管理Internet連線
10.7.2 管理活動的連線
10.7.3 管理你的Wi-Fi
10.8 控制設備震動
10.9 小結
第11章 Android高級開發
11.1 Android的安全性
11.1.1 Linux核心安全
11.1.2 許可權簡介
11.1.3 聲明和實施許可權
11.1.4 為廣播Intent實施許可權
11.2 使用AIDL來支持服務IPC
11.3 使用Internet服務
11.4 構建內容豐富的用戶界面
11.4.1 使用動畫
11.4.2 使用主題來為應用程式添加皮膚
11.4.3 高級畫布繪圖
11.4.4 SurfaceView簡介
11.4.5 創建互動式控制項
11.5 小結