內容簡介
Android設備已經超越消費套用範疇,進入企業領域。如果你準備著手構建與企業系統集成的數據驅動型Android應用程式,那么本書無疑是理想之選。 Android資料庫套用編程——為企業開發數據驅動Android套用 透徹講述如何使用
內容提供器共享數據、使用適配器顯示數據以及使用
Web服務傳輸數據,介紹集成應用程式和現有企業系統、保護數據以及同步數據的方法。通過閱讀本書,你將深入理解如何創建當今企業所需的數據密集型應用程式。
Android設備已經超越消費套用範疇,進入企業領域。如果你準備著手構建與企業系統集成的數據驅動型
Android應用程式,那么本書無疑是理想之選。 Android資料庫套用編程——為企業開發數據驅動Android套用 透徹講述如何使用。
目錄
1.1 Android是一個Java作業系統 2
1.2.1 前提條件和準備工作 2
1.2.2 工具鏈測試驅動 4
1.3 一個代碼庫適應所有設備類型 4
1.3.1 以代碼框架示例為起點 5
1.3.2 自動適應螢幕尺寸 10
1.4 組件、視圖和生命周期 10
1.4.1 銷毀並重建組件 11
1.4.2 MainActivity類 11
1.4.3 活動:用戶互動的基本單元 11
1.4.4 Fragment:組織代碼和UI的工具 16
1.4.5 PickFragment類 17
1.4.6 ItemFragment類 21
1.4.7 ItemDetailFragment類 24
1.5 整合Activity、Fragment和Action Bar 24
1.5.1 TabbedActivity類 25
1.5.2 針對大平板電腦的Main.
xml檔案 27
1.5.3 針對較小螢幕的main.xml和Subsidiary活動 28
1.5.4 TabActivity類 29
1.6 Android任務和進程模型 33
1.6.1 啟動Dalvik實例 33
1.6.2 死亡,但沒有變形 34
1.6.3 跨應用程式和進程的任務 35
1.7 多處理、安全性以及生命周期 35
1.8 聲明應用程式屬性 36
1.9 本章小結 37
第2章 關係模型和SQLite
2.1 資料庫和關係模型 40
2.1.1 RDBMS的歷史 40
2.1.2 關係模型 41
2.1.3 DBMS的其他功能 43
2.1.4 SQL語言 44
2.2 SQLite入門 48
2.2.1 SQLite命令行 48
2.2.2 SQLite資料庫示例 53
2.3 本章小結 57
第3章 Android資料庫支持
3.1 Java中的SQL:SQLiteDatabase類 59
3.1.1 基本的SQL嵌入 60
3.1.3 創建資料庫:SQLiteOpenHelper類 67
3.1.4 管理資料庫 71
3.2 游標、載入器和適配器 73
3.2.1 游標 73
3.2.2 適配器和視圖綁定器 75
3.2.3 載入器 78
3.3 本章小結 81
第4章 內容提供器
4.1 使用內容提供器 84
4.1.1 名為URI的虛擬數據集 84
4.1.2 內容解析器:客戶和提供器之間的聯繫 85
4.1.3 內容觀察者:完成循環 86
4.1.4 IPC:系統範圍可訪問性 89
4.2 契約:URI和類型 89
4.2.1 授權 91
4.2.2 虛擬表的URI 92
4.2.3 返回值的MIME類型 93
4.2.4 許可權 94
4.2.5 發布契約 94
4.3 實現內容提供器 94
4.3.1 創建內容提供器 95
4.3.2 返回類型和URI匹配器 96
4.3.3 寫資料庫 97
4.3.4 資料庫查詢 100
4.3.5 再論內容觀察者 104
4.4 許可權和註冊 105
4.5 內容提供器和檔案 107
4.6 本章小結 112
第5章 REST內容提供器並發性
5.1 REST基礎 114
5.1.1 使用REST的理由 114
5.1.3 REST API示例 118
5.1.4 聯繫人表示方式 118
5.1.5 聯繫方法和URI 119
5.1.6 聯繫人事務 120
5.2 Android網路 123
5.2.1 Apache庫 123
5.2.2 java.net庫 124
5.2.3 許可權 125
5.3 考慮並發性和生命周期 126
5.3.1 Android並發性架構 126
5.3.2 原生請求 127
5.4 健壯網路的架構 128
5.4.1 方法1:以服務為中心 129
5.4.2 方法2:以內容提供器為中心 131
5.4.3 方法3:以同步適配器為中心 132
5.4.4 Android內部的REST 133
5.4.5 restfulCachingProviderContacts項目:一個客戶端示例 133
5.4.6 添加聯繫人 135
5.5 使用同步適配器 140
5.5.1 Android賬戶管理 140
5.5.2 創建同步適配器 151
5.6 本章小結 160
第6章 服務開發
6.1 服務開發的選擇 164
6.1.1 請求的生命周期 164
6.1.2 三層服務架構 165
6.1.3 服務開發背景 166
6.2 為contacts構建REST風格的服務 168
6.2.1 一個傳統的軟體架構 168
6.2.2 編寫示例:Spring Contacts服務及其同步變體 170
6.2.3 示例代碼:Spring同步聯繫人服務 191
6.3 本章小結 198
第7章 移動和雲計算
7.1 雲性能和可伸縮性 202
7.1.1 移動的規模 202
7.1.2 雲計算的持久性:從SQL到NoSQL 204
7.1.3 資料庫檔案格式 206
7.1.4 NoSQL的持久性 208
7.2 可擴展持久性的設計考慮事項 210
7.3 查看主流的雲服務供應商 213
7.3.1 Amazon AWS 213
7.3.2 谷歌應用程式引擎 214
7.3.3 Joyent:託管MongoDB + node.js 214
7.3.4 Red Hat OpenShift 214
7.4 探討代碼示例 215
7.4.1 再論聯繫人DAO接口 215
7.4.2 編寫代碼:Amazon Contacts Service 216
7.4.3 編寫代碼:Google App Engine聯繫人 230
7.5 本章小結 238
第8章 複雜數據:Android Contacts
8.1 PIM資料庫:史前智慧型手機的化石 242
8.2 Android的Contacts提供器 242
8.3 ContactsContract API 242
8.4 Contacts提供器瀏覽器 243
8.4.1 用於瀏覽資料庫的代碼 245
8.4.2 Contacts提供器瀏覽器的原始碼 245
8.5 本章小結 258
第9章 Migrate項目和WebData API
9.1 WebData和Migrate項目介紹 260
9.1.1 Migrate項目的工作原理 260
9.1.2 Migrate項目如何簡化移動端連線到企業的過程 261
9.1.3 詳述 WebData API 262
9.1.4 WebData API REST風格的協定 262
9.2 Migrate項目的細節 272
9.2.1 Migrate項目Android WebData客戶端 272
9.2.2 Android Migrate項目特性 273
9.3 WebData內容提供器Android API 274
9.3.1 Android內置提供器API 274
9.3.2 Migrate提供器API 275
9.4 本章小結 275
第10章 WebData應用程式
10.1 Migrate客戶端 278
10.2 創建一個Migrate項目 279
10.2.1 步驟1:導入項目 279
10.2.2 步驟2:啟用該項目作為一個Migrate客戶端 279
10.2.3 步驟3:定義由Migrate管理的信息 280
10.2.4 步驟4:生成聯繫人契約 281
10.3 與Migrate REST代理互動 285
10.3.1 第5步:啟動一個本地Migrate服務 290
10.3.2 第6步:發布應用程式的模式 290
10.4 配置設備 292
10.4.1 第1步:安裝Migrate客戶端 292
10.4.2 第2步:添加WebData賬戶 293
10.4.3 第3步:開啟同步 294
10.4.4 第4步:運行應用程式 294
10.4.5 第5步:在Migrate Contacts中配置一個賬戶(可選) 294
10.5 未來的發展方向:MigrateClinic 295
10.6 本章小結 298
第11章 為數據構建人性化界面
11.1 相對於“菜譜”方式的模組化和靈活性 302
11.1.1 模組的概述 302
11.1.2 布局的改變 302
11.2 直接操作 304
11.2.1 TabbedActivity類 304
11.2.2 TabbedPagedFragment類 315
11.3 導航 316
11.3.1 小螢幕環境中的多任務 316
11.3.2 Android任務模型 316
11.3.3 任務和傳統的進程模型 317
11.3.4 修改任務行為 317
11.3.5 在平板電腦中的導航 319
11.4 選擇使用Support Package 319
11.5 本章小結 320
第12章 安全
12.1 平台安全 322
12.2 保持手機安全 322
12.2.1 避免惡意應用程式 323
12.2.2 了解惡意軟體機制:Malware Genome 326
12.3 編寫安全應用程式 327
12.3.1 黑客攻擊目標 327
12.3.2 安全應用程式的要素 328
12.3.3 示例代碼:保護REST風格調用 347
12.3.4 防止盜版 360
12.4 本章小結 361