新書推薦:
《
现代吴语的研究(中华现代学术名著3)
》
售價:NT$
296.0
《
天下的当代性:世界秩序的实践与想象(新版)
》
售價:NT$
352.0
《
德国天才4:断裂与承续
》
售價:NT$
500.0
《
妈妈的情绪,决定孩子的未来
》
售價:NT$
194.0
《
推拿纲目
》
售價:NT$
1836.0
《
精致考古--山东大学实验室考古项目论文集(一)
》
售價:NT$
1112.0
《
从天下到世界——国际法与晚清中国的主权意识
》
售價:NT$
347.0
《
血色帝国:近代英国社会与美洲移民
》
售價:NT$
265.0
|
內容簡介: |
本书介绍了关系型数据库和 SQLite 相关的理论知识,同时也介绍了在 Android 开发中和数据相关的方方面面,包括数据类型的定义、数据的增删改查、数据的持久化和展示、使用 content provider 共享数据、使用 Intent API 传递数据,以及和远程服务器进行数据交互等。本书的内容从相关 API 的基本使用到实践都有涉猎,对于提升 Android 开发水平,写出更高质量的应用很有帮助。阅读本书,并不需要对 Android 开发有很多的经验,但是要求读者有一些 Android 开发基础,理解Android 的基础组件。如果对 Android / Java 的线程模型有一些了解的话,对快速理解内容会很有帮助。
|
關於作者: |
本书作者 Adam Stroud 于 2010 年开始从事 Android 开发。他是 Runkeeper,、Mustbin 和 Chef Nightly 等创业公司的早期员工。从零开始主导这些团队的 Android 应用开发。他热爱 Android 和开源,除了写代码外,他还写了另外一些 Android 的书籍。他喜欢成为技术社区的一份子,经常在技术社区做分享和演讲。本书写成时,Adam 开始了新的一次创业,任技术联合创始人,负责 Android 应用的开发。
廖祜秋,开源爱好者,《构建 F8 App / React Native 开发指南》译者和维护者,Fresco 文档译者和维护者,Infer 文档译者和维护者。
|
目錄:
|
第1章 关系型数据库 1
数据库简史 1
层次模型 2
网状模型 2
关系模型简介 3
关系模型 3
关系 3
关系的属性 5
关联 6
参照完整性 7
关系语言 8
关系代数 9
关系演算 12
数据库语言 13
总结 14
第2章 SQL介绍 15
数据定义语言 15
表 16
索引 18
视图 21
触发器 22
数据操作语言 26
INSERT 26
UPDATE 28
DELETE 29
查询 29
ORDER BY 31
连接 32
总结 35
第3章 SQLite介绍 36
SQLite 的特性 36
SQLite 的特征 36
外键支持 37
全文索引 37
原子事务 38
多线程支持 39
SQLite 的不足 39
有限的连接支持 39
视图只读 40
有限的 ALTER TABLE 支持 40
SQLite 数据类型 40
总结 42
第4章 Android中的SQLite 43
移动设备上的数据持久化 43
Android 中的数据库 API 43
SQLiteOpenHelper 44
SQLiteDatabase 53
数据库升级策略 53
重建数据库 54
修改现有数据库 54
复制表和删除表 55
数据访问和主线程 56
查看数据库中的数据 56
使用 adb 访问数据库 56
使用第三方工具访问数据库 67
总结 70
第5章 在 Android 中使用数据库 72
操作数据 72
行插入 73
行更新 76
行替换 78
行删除 79
事务 80
使用事务 80
事务与性能 81
查询 82
快捷查询方法 82
原始查询方法 83
Cursor 84
读取 Cursor 数据 84
管理 Cursor 86
CursorLoader 86
创建 CursorLoader 87
启用 CursorLoader 90
重启 CursorLoader 91
总结 91
第6章 Content Provider 92
REST API 92
URI 93
暴露数据 93
方法实现 93
Content Resolver 98
对其他应用程序暴露 Content Provider 99
Provider 级权限 99
单独读写权限 100
URI 路径权限 100
Content Provider 权限 100
Content Provider 合约类 102
允许外部程序访问 104
实现 Content Provider 104
继承 android.content.ContentProvider 105
insert() 108
delete() 109
update() 111
query() 112
getType() 117
何时该使用 Content Provider 118
劣势 119
优势 120
总结 121
第7章 数据库和UI 122
从数据库到 UI 122
使用 cursor loader 处理线程交互 122
绑定 cursor 的数据到 UI 123
cursor 作为观察者 128
在 Activity 中使用 Content Provider 130
Activity 的实现细节 131
创建 cursor Loader 132
处理返回数据 133
处理数据变化 139
总结 143
第8章 使用Intent共享数据 144
发送 Intent 144
显式 Intent 144
隐式 Intent 145
启动一个目标 Activity 145
接收隐式 Intent 147
构造 Intent 148
Action 148
Extra 149
Extras 数据类型 150
什么不该放到 Intent 中 153
Share 菜单 154
总结 156
第9章 网络通信 157
REST 和 Web Services 157
REST 简介 157
REST 风格的 Web API 158
访问 Web API 159
使用 Android 标准 API 访问 Web Service 159
使用 Retrofit 访问 Web Service 168
使用 Volley 访问 Web Service 174
数据持久化 181
数据传输和电量消耗 181
数据传输和用户体验 182
本地持久化 182
SyncAdapter 182
AccountAuthenticator 183
SyncAdapter 186
手动同步远程数据 191
RxJava 简介 191
Retrofit RxJava 191
使用 RxJava 进行数据同步 194
总结 200
第10章 Data Binding 201
在项目中使用 Data Binding 201
View 的 Data Binding 布局 202
将 Activity 和布局绑定 203
使用 Binding 对象更新 View 205
处理数据变化 208
使用 Data Binding 来去除重复代码 211
Data Binding 的表达式语言 214
总结 216
|
|