內容簡介

  Android是Google的開源移動開發平台,業已成為移動設備領域的主流。近幾年,隨著越來越多硬件供應商\〃加入Andfoid操作系統的陣營。Google有望成為移動領域的微軟。

  本書是備受推崇的Android參考書,在上一版的基礎上進行了全面修改和重新規劃,同時新增了大量內容。涵蓋了100多個主題,介紹了分別針對移動電話和平板電腦而優化的AndI\〃oid2.3 和Android3.0。

  本書強調實用,突出趣味。寓教于樂。作者通過妙趣橫生、切實可行的示例,向讀者展示了如何使用Google\〃最新的And『old3.0SDK。構建貼近實際且意趣盎然的應用,深入全面地介紹了為嵌入式設備、手機、平板電腦構建應用所需的一切知識,同時介紹了自定義3D組件和多任務等高級主題。

  本書是移動開發大師的真知灼見與實際應用相結合的產物。如果你對Android移動開發感興趣。那麼本書絕對不容錯過。

  亞馬遜暢銷書,讀者好評如潮、涉及版本2.3 和3.0、Android移動開發的制勝寶典!

  本書在上一版的基礎上進行了全面改進,增加了Android內部構件的相關知識,介紹了線程、進程、長期運行的服務、廣播接收程序和鬧鐘管理器。本版還介紹了更多UI控件,並用150多頁的篇幅專門介紹了Android3.0版,包括碎片、碎片對話框、ActionBar和拖放。此外,本書對服務和傳感器的相關章節做了大幅改進,還對介紹OpenGL的章節做了修訂,涵蓋了OpenGLES2.0。.本書囊括了Android開發人員所需的一切知識,既可為Android開發人員夯實基礎,又能提高Android開發人員的技能。


  Satya Komatineni,印度理工大學電子工程專業碩士?有20多年的程序設計經驗,開發過用于Java Web開發的簡單開源工具Aspire Web以及開源個人Web操作系統——Aspire Knowledge Central。擅長使用Java、NET和數據庫技術進行Web開發,發表過30多篇這方面的文章。他經常在創新技術相關的行業大會上發言,並為java.net上的網絡博客撰稿。

  Dave Mac Lean,加拿大滑鐵盧大學系統設計工程專業學士。早在1980年就從事軟件開發工作,使用過多種語言進行編程,曾開發機器人自動化、數據倉庫、Web自助服務應用程序、EDI事務處理器等系統。Dave~在Sun、IBM、Trimble Navigation、通用汽車等公司工作。

  Sayed Hashimi,美國佛羅里達大學工程學碩士。具有醫療、金融、物流和面向服務的架構等多個領域的軟件開發經驗,使用各種編程語言和平台(包括C/C++、MFC、J2EE和NET)開發過大規模的分布式應用程序。他在重要軟件雜志上發表過許多文章,還在Apress出版過其他廣受歡迎的圖書。
 

目錄

第1章 Android計算平台簡介
1.1 面向新PC的全新平台
1.2 Android的歷史
1.3 DalvikVM剖析
1.4 理解Android軟件棧
1.5 使用AndroidSDK開發最終用戶應用程序
1.5.1 Android模擬器
1.5.2 AndroidUI
1.5.3 Android基礎組件
1.5.4 高級UI概念
1.5.5 AndroidService組件
1.5.6 Android媒體和電話組件
1.5.7 AndroidJava包
1.6 利用Android源代碼
1.7 本書的示例項目
1.8 小結
第2章 設置開發環境
2.1 設置環境
2.1.1 下載JDK
2.1.2 下載Eclipse3.6
2.1.3 下載AndroidSDK
2.1.4 命令行窗口
2.1.5 安裝ADT
2.2 了解基本組件
2.2.1 View
2.2.2 Activity
2.2.3 Intent
2.2.4 ContentProvider
2.2.5 Service
2.2.6 AndroidManifest.xml
2.2.7 AVD
2.3 Hello World!
2.4 AVD
2.5 剖析Android應用程序的結構
2.6 分析Notepad應用程序
2.6.1 加載和運行Notepad應用程序
2.6.2 分解應用程序
2.7 了解應用程序生命周期
2.8 調試應用程序
2.8.1 啟動模擬器
2.8.2 StrictMode
2.8.3 參考資料
2.9 小結
第3章 使用Android資源
3.1 資源
3.1.1 字符串資源
3.1.2 布局資源
3.1.3 資源引用語法
3.1.4 定義資源ID供以後使用
3.1.5 已編譯和未編譯的Android資源
3.2 Android關鍵資源
3.3 使用任意XML資源文件
3.4 使用原始資源
3.5 使用資產
3.6 了解資源目錄結構
3.7 資源和配置更改
3.8 參考資料URL
3.9 小結
第4章 ContentProvider
4.1 探索Android內置的ContentProvider
4.2 Content Provider的架構
4.3 實現ContentProvider
4.4 練習圖書提供程序
4.4.1 添加圖書
4.4.2 刪除圖書
4.4.3 獲取圖書數量
4.4.4 顯示圖書列表
4.5 資源
4.6 小結
第5章 Intent
5.1 Android Intent基礎知識
5.2 Android中可用的Intent
5.3 Intent的組成
5.3.1 Intent和數據URI
5.3.2 一般操作
5.3.3 使用extra信息
5.3.4 使用組件直接調用活動
5.3.5 Intent類別
5.3.6 將Intent解析為組件的規則
5.4 練習使用ACTION_PICK
5.5 練習使用GET_CONTENT操作
5.6 掛起的Intent
5.7 資源
5.8 小結
第6章 構建用戶界面和使用控件
6.1 Android中的UI開發
6.1.1 完全利用代碼來構建UI
6.1.2 完全使用XML構建UI
6.1.3 使用XML結合代碼構建UI
6.2 Android中的常見控件
6.2.1 文本控件
6.2.2 按鈕控件
6.2.3 Image View控件
6.2.4 日期和時間控件
6.2.5 Map View控件
6.3 適配器
6.3.1 SimpleCursorAdapter
6.3.2 了解ArrayAdapter
6.4 結合使用適配器和AdapterView
6.4.1 基本的列表控件︰ListView
6.4.2 Grid View控件
6.4.3 Spinner控件
6.4.4 Gallery控件
6.4.5 創建自定義適配器
6.4.6 Android中的其他控件
6.5 樣式和主題
6.5.1 使用樣式
6.5.2 使用主題
6.6 布局管理器
6.6.1 Linear Layout布局管理器
6.6.2 Table Layout布局管理器
6.6.3 Relative Layout布局管理器
6.6.4 Frame Layout布局管理器
6.6.5 為各種設備配置自定義布局
6.7 使用Hierarchy Viewer調試和優化布局
6.8 參考資料
6.9 小結
第7章 使用菜單
7.1 Android菜單
7.1.1 創建菜單
7.1.2 使用菜單組
7.2 響應菜單項
7.3 創建測試工具來測試菜單
7.4 使用其他菜單類型
7.4.1 展開的菜單
7.4.2 使用圖標菜單
7.4.3 使用子菜單
7.4.4 配置系統菜單
7.4.5 使用上下文菜單
7.4.6 使用交替菜單
7.4.7 使用菜單響應數據變化
7.5 通過XML文件加載菜單
7.5.1 XML菜單資源文件的結構
7.5.2 填充XML菜單資源文件
7.5.3 響應基于XML的菜單項
7.5.4 其他XML菜單標記簡介
7.6 資源
7.7 小結
第8章 使用對話框
8.1 使用Android中的對話框
8.1.1 設計提醒對話框
8.1.2 設計提示對話框
8.1.3 Android對話框的特性
8.1.4 重新設計提示對話框
8.2 使用托管對話框
8.2.1 理解托管對話框協議
8.2.2 將非托管對話框重新轉換為托管對話框
8.2.3 簡化托管對話框協議
8.3 使用Toast
8.4 資源
8.5 小結
第9章 管理和組織首選項
9.1 探索首選項框架
9.1.1 List Preference
9.1.2 Check BoxPreference
9.1.3 EditText Preference
9.1.4 Ringtone Preference
9.2 組織首選項
9.3 以編程方式操作首選項
9.4 使用首選項保存狀態
9.5 參考資料
9.6 小結
第10章 探索安全性和權限
10.1 理解Android安全性模型
10.1.1 安全性概念概述
10.1.2 為部署簽名應用程序
10.2 執行運行時安全性檢查
10.2.1 進程邊界上的安全性
10.2.2 聲明和使用權限
10.2.3 理解和使用自定義權限
10.2.4 理解和使用URI權限
10.3 參考資料
10.4 小結
第11章 構建和使用服務
11.1 使用HTTP服務
11.1.1 將Http Client用于HTTPGET請求
11.1.2 將Http Client用于HTTPPOST請求(多部分POST請求示例)
11.1.3 SOAP、JSON和XML分析程序
11.1.4 處理異常
11.1.5 解決多線程問題
11.1.6 有趣的超時
11.1.7 使用HttpURLConnection
11.1.8 使用AndroidHttpClient
11.1.9 使用後台線程(Async Task)
11.1.10 使用Async Task處理配置更改
11.1.11 使用Download Manager獲取文件
11.2 使用Android服務
11.2.1 Android中的服務
11.2.2 本地服務
11.2.3 AIDL服務
11.2.4 在AIDL中定義服務接口
11.2.5 實現AIDL接口
11.2.6 從客戶端應用程序調用服務
11.2.7 向服務傳遞復雜的類型
11.3 使用服務的真實示例
11.3.1 Google翻譯API
11.3.2 使用Google翻譯API
11.4 參考資料
11.5 小結
第12章 包
12.1 包和進程
12.1.1 包規範的細節
12.1.2 將包名稱轉換為進程名稱
12.1.3 列出安裝的包
12.1.4 通過包瀏覽器刪除包
12.2 包簽名過程回顧
12.2.1 理解數字簽名︰場景1
12.2.2 理解數字簽名︰場景2
12.2.3 一種理解數字簽名的模式
12.2.4 數字簽名執行方式
12.2.5 簽名過程的影響
12.3 在包之間共享數據
12.3.1 共享用戶ID的性質
12.3.2 共享數據的代碼模式
12.4 庫項目
12.4.1 庫項目的概念
12.4.2 庫項目的性質
12.4.3 創建庫項目
12.4.4 創建使用庫的Android項目
12.5 參考資料
12.6 小結
第13章 處理程序
13.1 Android組件和線程
13.1.1 活動在主線程上運行
13.1.2 廣播接收程序在主線程上運行
13.1.3 服務在主線程上運行
13.1.4 Content Provider在主線程上運行
13.1.5 單一主線程的影響
13.1.6 線程池、Content Provider、外部服務組件
13.1.7 線程實用程序︰發現線程
13.2 處理程序
13.2.1 持有主線程的影響
13.2.2 使用處理程序延遲主線程上的工作
13.2.3 延遲工作的處理程序源代碼示例
13.2.4 構造合適的Message對象
13.2.5 將Message對象發送給隊列
13.2.6 響應handle Message回調
13.3 使用工作線程
13.3.1 從菜單調用工作線程
13.3.2 在工作線程與主線程之間通信
13.3.3 線程行為概述
13.4 處理程序示例驅動程序類
13.4.1 驅動程序活動文件
13.4.2 布局文件
13.4.3 菜單文件
13.4.4 描述文件
13.5 組件和進程壽命
13.5.1 活動生命周期
13.5.2 服務生命周期
13.5.3 接收程序生命周期
13.5.4 提供程序生命周期
13.6 代碼編譯說明
13.6.1 從ZIP文件創建項目
13.6.2 從代碼清單創建項目
13.7 參考資料
13.8 小結
第14章 廣播接收程序和長期運行的服務
14.1 廣播接收程序
14.1.1 發送廣播
14.1.2 編寫簡單的接收程序︰示例代碼
14.1.3 在描述文件中注冊接收程序
14.1.4 發送測試廣播
14.1.5 容納多個接收程序
14.1.6 進程外接收程序項目
14.2 從接收程序使用通知
14.2.1 通過通知管理器監控通知
14.2.2 發送通知
14.3 長期運行的接收程序和服務
14.3.1 長期運行的廣播接收程序協議
14.3.2 Intent Service
14.3.3 Intent Service源代碼
14.4 為廣播接收程序擴展IntentService
14.4.1 長期運行的廣播服務抽象
14.4.2 長期運行的接收程序
14.4.3 使用Lighted Green Room抽象喚醒鎖
14.5 長期運行的服務的實現
14.5.1 非粘滯性服務的細節
14.5.2 粘滯性服務的細節
14.5.3 非粘滯性的變體︰重傳送(redeliver)Intent
14.5.4 在on Start Command中指定服務標志
14.5.5 挑選合適的粘滯性
14.5.6 從兩個位置控制喚醒鎖
14.5.7 長期運行的服務的實現
14.5.8 測試長期運行的服務
14.6 代碼編譯說明
14.6.1 從ZIP文件創建項目
14.6.2 通過代碼清單創建項目
14.7 參考資料
14.8 小結
第15章 鬧鐘管理器
15.1 鬧鐘管理器基本知識︰設置一個簡單的鬧鐘
15.1.1 獲取鬧鐘管理器
15.1.2 設置鬧鐘時間
15.1.3 設置鬧鐘接收程序
15.1.4 創建適合鬧鐘的Pending Intent
15.1.5 設置鬧鐘
15.1.6 測試項目
15.2 探索其他鬧鐘管理器場景
15.2.1 設置重復鬧鐘
15.2.2 取消鬧鐘
15.2.3 使用多個鬧鐘
15.2.4 Intent在設置鬧鐘時的首要職責
15.2.5 鬧鐘的持久化
15.3 鬧鐘管理器事實
15.4 參考資料
15.5 小結
第16章 2D動畫揭秘
16.1 逐幀動畫
16.1.1 計劃逐幀動畫
16.1.2 創建活動
16.1.3 將動畫添加到活動
16.2 布局動畫
16.2.1 基本的補間動畫類型
16.2.2 計劃布局動畫測試工具
16.2.3 創建活動和List View
16.2.4 將List View制作成動畫
16.2.5 使用插值器
16.3 視圖動畫
16.3.1 理解視圖動畫
16.3.2 添加動畫
16.3.3 使用Camera實現2D圖像的深度效果
16.3.4 探索Animation Listener類
16.3.5 關于變換矩陣的一些說明
16.4 資源
16.5 小結
第17章 地圖和基于位置的服務
17.1 地圖包
17.1.1 從Google獲取map-api密鑰
17.1.2 Map View和Map Activity
17.1.3 使用覆蓋圖添加標記
17.2 位置包
17.2.1 使用Android進行地理編碼
17.2.2 使用後台線程進行地理編碼
17.2.3 Location Manager服務
17.2.4 使用My Location Overlay顯示位置
17.2.5 使用接近提醒
17.3 參考資料
17.4 小結
第18章 電話API
18.1 使用SMS
18.1.1 發送SMS消息
18.1.2 監視傳入的SMS消息
18.1.3 使用SMS文件夾
18.1.4 發送電子郵件
18.2 使用電話管理器
18.3 SIP
18.4 參考資料
18.5 小結
第19章 媒體框架
19.1 使用媒體API
19.2 播放媒體
19.2.1 播放音頻內容
19.2.2 播放視頻內容
19.3 錄制媒體
19.3.1 使用Media Recorder錄制音頻
19.3.2 使用Audio Record錄制音頻
19.3.3 視頻錄制
19.3.4 Media Store類
19.3.5 使用Intnet錄制音頻
19.3.6 將媒體內容添加到媒體存儲
19.3.7 為整個SD卡觸發MediaScanner
19.3.8 參考資料
19.4 小結
第20章 使用OpenGL進行3D圖形編程
20.1 了解OpenGL的歷史和背景
20.1.1 OpenGLES
20.1.2 Open GLES與JavaME
20.1.3 M3G︰另一種JavaME3D圖形標準
20.2 OpenGL的基本原理
20.2.1 使用Open GLES進行基本繪制
20.2.2 OpenGL照相機和坐標
20.3 在Android中使用OpenGLES
20.3.1 使用GL Surface View和相關類
20.3.2 實現Renderer
20.3.3 通過Activity使用GLSurfaceView
20.3.4 更改照相機設置
20.3.5 使用索引添加另一個三角形
20.3.6 為簡單的OpenGL三角形制作動畫
20.4 OpenGL的運用︰形狀和紋理
20.4.1 繪制矩形
20.4.2 使用形狀
20.4.3 使用紋理
20.4.4 繪制多個圖形
20.5 OpenGLES2.0
20.5.1 針對OpenGLES2.0的Java綁定
20.5.2 呈現步驟
20.5.3 著色器
20.5.4 將著色器編譯到程序中
20.5.5 訪問著色器程序變量
20.5.6 簡單的ES2.0三角形
20.5.7 關于Open GLES2.0的更多閱讀材料
20.6 代碼編譯說明
20.7 小結
第21章 活動文件夾
21.1 探索活動文件夾
21.1.1 用戶如何使用活動文件夾
21.1.2 構建活動文件夾
21.2 代碼編譯說明
21.3 參考資料
21.4 小結
第22章 主屏幕部件
22.1 主屏幕部件的架構
22.1.1 什麼是主屏幕部件
22.1.2 主屏幕部件的用戶體驗
22.1.3 部件的生命周期
22.2 示例部件應用程序
22.2.1 定義部件提供程序
22.2.2 定義部件尺寸
22.2.3 與部件布局相關的文件
22.2.4 實現部件提供程序
22.2.5 實現部件模型
22.2.6 實現部件配置活動
22.3 部件局限性和擴展
22.4 資源
22.5 小結
第23章 Android搜索
23.1 Android搜索體驗
23.1.1 探索Android全局搜索
23.1.2 為全局搜索啟用建議提供程序
23.2 活動與搜索鍵交互
23.2.1 常規活動上的搜索鍵行為
23.2.2 禁用了搜索的活動的行為
23.2.3 通過菜單顯式調用搜索
23.2.4 本地搜索和相關活動
23.2.5 啟用鍵入搜索
23.3 實現簡單建議提供程序
23.3.1 計劃簡單建議提供程序
23.3.2 簡單建議提供程序實現文件
23.3.3 實現Simple Suggestion-Provider類
23.3.4 簡單建議提供程序搜索活動
23.3.5 搜索調用方活動
23.3.6 簡單建議提供程序用戶體驗
23.4 實現自定義建議提供程序
23.4.1 計劃自定義建議提供程序
23.4.2 Suggest URL Provider項目實現文件
23.4.3 實現Suggest Url Provider類
23.4.4 實現自定義建議提供程序的搜索活動
23.4.5 自定義建議提供程序描述文件
23.4.6 自定義建議用戶體驗
23.5 使用操作鍵和應用程序特有的搜索數據
23.5.1 在Android搜索中使用操作鍵
23.5.2 使用應用程序特定的搜索上下文
23.6 資源
23.7 對平板電腦的意義
23.8 小結
第24章 文本到語音轉換
24.1 Android中的文本到語音轉換
24.2 使用語段跟蹤語音
24.3 使用音頻文件代替話音
24.4 TTS引擎的高級功能
24.4.1 設置音頻流
24.4.2 使用耳標
24.4.3 播放靜音
24.4.4 選擇不同的文本到語音轉換引擎
24.4.5 使用語言方法
24.5 參考資料
24.6 小結
第25章 觸摸屏
25.1 Motion Event
25.1.1 Motion Event對象
25.1.2 回收MotionEvent
25.1.3 使用VelocityTracker
25.1.4 探索拖放操作
25.2 多點觸摸
25.2.1 Android2.2 之前的多點觸摸
25.2.2 自Android2.2 開始的多點觸摸
25.3 觸摸地圖
25.4 手勢
25.4.1 捏合手勢
25.4.2 Gesture Detector和OnGestureListener
25.4.3 自定義手勢
25.4.4 Gestures Builder應用程序
25.5 參考資料
25.6 小結
第26章 傳感器
26.1 什麼是傳感器
26.1.1 檢測傳感器
26.1.2 可以了解的傳感器信息
26.2 獲取傳感器事件
26.3 解釋傳感器數據
26.3.1 光線傳感器
26.3.2 接近傳感器
26.3.3 溫度傳感器
26.3.4 壓力傳感器
26.3.5 陀螺儀傳感器
26.3.6 加速度計
26.3.7 磁場傳感器
26.3.8 結合使用加速度計和磁場傳感器
26.3.9 方向傳感器
26.3.10 磁偏角和GeomagneticField
26.3.11 重力傳感器
26.3.12 直線加速度傳感器
26.3.13 旋轉矢量傳感器
26.3.14 近場通信傳感器
26.4 參考資料
26.5 小結
第27章 聯系人API
27.1 賬戶
27.1.1 賬戶屏幕概覽
27.1.2 賬戶與聯系人的相關性
27.1.3 枚舉賬戶
27.2 聯系人應用程序
27.2.1 顯示聯系人
27.2.2 顯示聯系人詳細信息
27.2.3 編輯聯系人詳細信息
27.2.4 設置聯系人的照片
27.2.5 導出聯系人
27.2.6 各種聯系人數據類型
27.3 聯系人
27.3.1 內容SQLite數據庫
27.3.2 原始聯系人
27.3.3 數據表
27.3.4 聚合聯系人
27.3.5 view_contacts
27.3.6 contact_entities_view
27.4 聯系人API
27.4.1 瀏覽賬戶
27.4.2 瀏覽聚合聯系人
27.4.3 瀏覽原始聯系人
27.4.4 瀏覽原始聯系人數據
27.4.5 添加聯系人和它的詳細信息
27.5 控制聚合
27.6 同步的影響
27.7 參考資料
27.8 小結
第28章 使用AndroidMarket
28.1 成為發布者
28.1.1 遵守規則
28.1.2 開發人員控制台
28.2 準備銷售應用程序
28.2.1 針對不同設備進行測試
28.2.2 支持不同的屏幕尺寸
28.2.3 準備上傳AndroidManifest.xml
28.2.4 本地化應用程序
28.2.5 準備應用程序圖標
28.2.6 付費應用程序考慮因素
28.2.7 將用戶引導至Market
28.2.8 Android授權服務
28.2.9 準備上傳.apk文件
28.3 上傳應用程序
28.4 Android Market上的用戶體驗
28.5 更多發布途徑
28.6 參考資料
28.7 小結
第29章 多用途的碎片
29.1 什麼是碎片
29.1.1 何時使用碎片
29.1.2 碎片的結構
29.1.3 碎片的生命周期
29.1.4 展示生命周期的示例碎片應用程序
29.2 Fragment Transactions和碎片後退棧
29.3 Fragment Manager
29.3.1 引用碎片時的注意事項
29.3.2 List Fragments和〈fragment〉
29.3.3 在需要時調用獨立的活動
29.3.4 碎片的持久化
29.4 對話框碎片
29.4.1 Dialog Fragment基礎知識
29.4.2 Dialog Fragments示例應用程序
29.5 碎片之間的更多通信方式
29.6 使用Object Animator自定義動畫
29.7 參考資料
29.8 小結
第30章 ActionBar
30.1 Action Bar剖析
30.2 選項卡導航操作欄活動
30.2.1 實現基礎活動類
30.2.2 為Action Bar分配統一的行為
30.2.3 實現選項卡監听器
30.2.4 實現選項卡操作欄活動
30.2.5 可滾動的調試文本視圖布局
30.2.6 操作欄和菜單交互
30.2.7 Android描述文件
30.2.8 測試選項卡操作欄活動
30.3 列表導航操作欄活動
30.3.1 創建SpinnerAdapter
30.3.2 創建列表監听器
30.3.3 設置列表操作欄
30.3.4 更改BaseActionBar-Activity
30.3.5 更改AndroidManifest.xml
30.3.6 測試列表操作欄活動
30.4 標準導航操作欄活動
30.4.1 標準導航操作欄活動
30.4.2 更改BaseActionBar-Activity
30.4.3 更改AndroidManifest.xml
30.4.4 測試標準操作欄活動
30.5 參考資料
30.6 小結
第31章 3.0版中的更多主題
31.1 基于列表的主屏幕部件
31.1.1 3.0版中新的遠程視圖
31.1.2 在遠程視圖中使用列表
31.1.3 應用示例︰測試主屏幕列表部件
31.1.4 對測試列表部件進行測試
31.2 拖放
31.2.1 3.0版中拖放的基礎知識
31.2.2 拖放示例應用程序
31.2.3 測試示例拖放應用程序
31.3 參考資料
31.4 小結
網路書店 類別 折扣 價格
  1. 新書
    87
    $668