Android數(shù)據(jù)庫(kù)最佳實(shí)踐
定 價(jià):79.9 元
- 作者:(美)Adam Stroud(亞當(dāng)·斯特勞德)
- 出版時(shí)間:2021/6/1
- ISBN:9787121382468
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TN929.53
- 頁(yè)碼:232
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書介紹了關(guān)系型數(shù)據(jù)庫(kù)和 SQLite 相關(guān)的理論知識(shí),同時(shí)也介紹了在 Android 開(kāi)發(fā)中和數(shù)據(jù)相關(guān)的方方面面,包括數(shù)據(jù)類型的定義、數(shù)據(jù)的增刪改查、數(shù)據(jù)的持久化和展示、使用 content provider 共享數(shù)據(jù)、使用 Intent API 傳遞數(shù)據(jù),以及和遠(yuǎn)程服務(wù)器進(jìn)行數(shù)據(jù)交互等。本書的內(nèi)容從相關(guān) API 的基本使用到最佳實(shí)踐都有涉獵,對(duì)于提升 Android 開(kāi)發(fā)水平,寫出更高質(zhì)量的應(yīng)用很有幫助。閱讀本書,并不需要對(duì) Android 開(kāi)發(fā)有很多的經(jīng)驗(yàn),但是要求讀者有一些 Android 開(kāi)發(fā)基礎(chǔ),理解Android 的基礎(chǔ)組件。如果對(duì) Android / Java 的線程模型有一些了解的話,對(duì)快速理解內(nèi)容會(huì)很有幫助。
本書作者 Adam Stroud 于 2010 年開(kāi)始從事 Android 開(kāi)發(fā)。他是 Runkeeper,、Mustbin 和 Chef Nightly 等創(chuàng)業(yè)公司的早期員工。從零開(kāi)始主導(dǎo)這些團(tuán)隊(duì)的 Android 應(yīng)用開(kāi)發(fā)。他熱愛(ài) Android 和開(kāi)源,除了寫代碼外,他還寫了另外一些 Android 的書籍。他喜歡成為技術(shù)社區(qū)的一份子,經(jīng)常在技術(shù)社區(qū)做分享和演講。本書寫成時(shí),Adam 開(kāi)始了新的一次創(chuàng)業(yè),任技術(shù)聯(lián)合創(chuàng)始人,負(fù)責(zé) Android 應(yīng)用的開(kāi)發(fā)。
廖祜秋,開(kāi)源愛(ài)好者,《構(gòu)建 F8 App / React Native 開(kāi)發(fā)指南》譯者和維護(hù)者,F(xiàn)resco 文檔譯者和維護(hù)者,Infer 文檔譯者和維護(hù)者。
第1章 關(guān)系型數(shù)據(jù)庫(kù) 1
數(shù)據(jù)庫(kù)簡(jiǎn)史 1
層次模型 2
網(wǎng)狀模型 2
關(guān)系模型簡(jiǎn)介 3
關(guān)系模型 3
關(guān)系 3
關(guān)系的屬性 5
關(guān)聯(lián) 6
參照完整性 7
關(guān)系語(yǔ)言 8
關(guān)系代數(shù) 9
關(guān)系演算 12
數(shù)據(jù)庫(kù)語(yǔ)言 13
總結(jié) 14
第2章 SQL介紹 15
數(shù)據(jù)定義語(yǔ)言 15
表 16
索引 18
視圖 21
觸發(fā)器 22
數(shù)據(jù)操作語(yǔ)言 26
INSERT 26
UPDATE 28
DELETE 29
查詢 29
ORDER BY 31
連接 32
總結(jié) 35
第3章 SQLite介紹 36
SQLite 的特性 36
SQLite 的特征 36
外鍵支持 37
全文索引 37
原子事務(wù) 38
多線程支持 39
SQLite 的不足 39
有限的連接支持 39
視圖只讀 40
有限的 ALTER TABLE 支持 40
SQLite 數(shù)據(jù)類型 40
總結(jié) 42
第4章 Android中的SQLite 43
移動(dòng)設(shè)備上的數(shù)據(jù)持久化 43
Android 中的數(shù)據(jù)庫(kù) API 43
SQLiteOpenHelper 44
SQLiteDatabase 53
數(shù)據(jù)庫(kù)升級(jí)策略 53
重建數(shù)據(jù)庫(kù) 54
修改現(xiàn)有數(shù)據(jù)庫(kù) 54
復(fù)制表和刪除表 55
數(shù)據(jù)訪問(wèn)和主線程 56
查看數(shù)據(jù)庫(kù)中的數(shù)據(jù) 56
使用 adb 訪問(wèn)數(shù)據(jù)庫(kù) 56
使用第三方工具訪問(wèn)數(shù)據(jù)庫(kù) 67
總結(jié) 70
第5章 在 Android 中使用數(shù)據(jù)庫(kù) 72
操作數(shù)據(jù) 72
行插入 73
行更新 76
行替換 78
行刪除 79
事務(wù) 80
使用事務(wù) 80
事務(wù)與性能 81
查詢 82
快捷查詢方法 82
原始查詢方法 83
Cursor 84
讀取 Cursor 數(shù)據(jù) 84
管理 Cursor 86
CursorLoader 86
創(chuàng)建 CursorLoader 87
啟用 CursorLoader 90
重啟 CursorLoader 91
總結(jié) 91
第6章 Content Provider 92
REST API 92
URI 93
暴露數(shù)據(jù) 93
方法實(shí)現(xiàn) 93
Content Resolver 98
對(duì)其他應(yīng)用程序暴露 Content Provider 99
Provider 級(jí)權(quán)限 99
單獨(dú)讀寫權(quán)限 100
URI 路徑權(quán)限 100
Content Provider 權(quán)限 100
Content Provider 合約類 102
允許外部程序訪問(wèn) 104
實(shí)現(xiàn) Content Provider 104
繼承 android.content.ContentProvider 105
insert() 108
delete() 109
update() 111
query() 112
getType() 117
何時(shí)該使用 Content Provider 118
劣勢(shì) 119
優(yōu)勢(shì) 120
總結(jié) 121
第7章 數(shù)據(jù)庫(kù)和UI 122
從數(shù)據(jù)庫(kù)到 UI 122
使用 cursor loader 處理線程交互 122
綁定 cursor 的數(shù)據(jù)到 UI 123
cursor 作為觀察者 128
在 Activity 中使用 Content Provider 130
Activity 的實(shí)現(xiàn)細(xì)節(jié) 131
創(chuàng)建 cursor Loader 132
處理返回?cái)?shù)據(jù) 133
處理數(shù)據(jù)變化 139
總結(jié) 143
第8章 使用Intent共享數(shù)據(jù) 144
發(fā)送 Intent 144
顯式 Intent 144
隱式 Intent 145
啟動(dòng)一個(gè)目標(biāo) Activity 145
接收隱式 Intent 147
構(gòu)造 Intent 148
Action 148
Extra 149
Extras 數(shù)據(jù)類型 150
什么不該放到 Intent 中 153
Share 菜單 154
總結(jié) 156
第9章 網(wǎng)絡(luò)通信 157
REST 和 Web Services 157
REST 簡(jiǎn)介 157
REST 風(fēng)格的 Web API 158
訪問(wèn) Web API 159
使用 Android 標(biāo)準(zhǔn) API 訪問(wèn) Web Service 159
使用 Retrofit 訪問(wèn) Web Service 168
使用 Volley 訪問(wèn) Web Service 174
數(shù)據(jù)持久化 181
數(shù)據(jù)傳輸和電量消耗 181
數(shù)據(jù)傳輸和用戶體驗(yàn) 182
本地持久化 182
SyncAdapter 182
AccountAuthenticator 183
SyncAdapter 186
手動(dòng)同步遠(yuǎn)程數(shù)據(jù) 191
RxJava 簡(jiǎn)介 191
Retrofit + RxJava 191
使用 RxJava 進(jìn)行數(shù)據(jù)同步 194
總結(jié) 200
第10章 Data Binding 201
在項(xiàng)目中使用 Data Binding 201
View 的 Data Binding 布局 202
將 Activity 和布局綁定 203
使用 Binding 對(duì)象更新 View 205
處理數(shù)據(jù)變化 208
使用 Data Binding 來(lái)去除重復(fù)代碼 211
Data Binding 的表達(dá)式語(yǔ)言 214
總結(jié) 216