商品简介
本书介绍了关系型数据库和 SQLite 相关的理论知识,同时也介绍了在 Android 开发中和数据相关的方方面面,包括数据类型的定义、数据的增删改查、数据的持久化和展示、使用 content provider 共享数据、使用 Intent API 传递数据,以及和远程服务器进行数据交互等。本书的内容从相关 API 的基本使用到实践都有涉猎,对于提升 Android 开发水平,写出更高质量的应用很有帮助。阅读本书,并不需要对 Android 开发有很多的经验,但是要求读者有一些 Android 开发基础,理解Android 的基础组件。如果对 Android / Java 的线程模型有一些了解的话,对快速理解内容会很有帮助。
作者简介
本书作者AdamStroud于2010年开始从事Android开发。他是Runkeeper,、Mustbin和ChefNightly等创业公司的早期员工。从零开始主导这些团队的Android应用开发。他热爱Android和开源,除了写代码外,他还写了另外一些Android的书籍。他喜欢成为技术社区的一份子,经常在技术社区做分享和演讲。本书写成时,Adam开始了新的一次创业,任技术联合创始人,负责Android应用的开发。
廖祜秋,开源爱好者,《构建F8App/ReactNative开发指南》译者和维护者,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
INSERT26
UPDATE28
DELETE29
查询29
ORDER BY31
连接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中的SQLite43
移动设备上的数据持久化43
Android 中的数据库 API43
SQLiteOpenHelper44
SQLiteDatabase53
数据库升级策略53
重建数据库54
修改现有数据库54
复制表和删除表55
数据访问和主线程56
查看数据库中的数据56
使用 adb 访问数据库56
使用第三方工具访问数据库67
总结70
第5章 在 Android 中使用数据库72
操作数据72
行插入73
行更新76
行替换78
行删除79
事务80
使用事务80
事务与性能81
查询82
快捷查询方法82
原始查询方法83
Cursor84
读取 Cursor 数据84
管理 Cursor86
CursorLoader86
创建 CursorLoader87
启用 CursorLoader90
重启 CursorLoader91
总结91
第6章 Content Provider92
REST API92
URI93
暴露数据93
方法实现93
Content Resolver98
对其他应用程序暴露 Content Provider99
Provider 级权限99
单独读写权限100
URI 路径权限100
Content Provider 权限100
Content Provider 合约类102
允许外部程序访问104
实现 Content Provider104
继承 android.content.ContentProvider105
insert()108
delete()109
update()111
query()112
getType()117
何时该使用 Content Provider118
劣势119
优势120
总结121
第7章 数据库和UI122
从数据库到 UI122
使用 cursor loader 处理线程交互122
绑定 cursor 的数据到 UI123
cursor 作为观察者128
在 Activity 中使用 Content Provider130
Activity 的实现细节131
创建 cursor Loader132
处理返回数据133
处理数据变化139
总结143
第8章 使用Intent共享数据144
发送 Intent144
显式 Intent144
隐式 Intent145
启动一个目标 Activity145
接收隐式 Intent147
构造 Intent148
Action148
Extra149
Extras 数据类型150
什么不该放到 Intent 中153
Share 菜单154
总结156
第9章 网络通信157
REST 和 Web Services157
REST 简介157
REST 风格的 Web API158
访问 Web API159
使用 Android 标准 API 访问 Web Service159
使用 Retrofit 访问 Web Service168
使用 Volley 访问 Web Service174
数据持久化181
数据传输和电量消耗181
数据传输和用户体验182
本地持久化182
SyncAdapter182
AccountAuthenticator183
SyncAdapter186
手动同步远程数据191
RxJava 简介191
Retrofit + RxJava191
使用 RxJava 进行数据同步194
总结200
第10章 Data Binding201
在项目中使用 Data Binding201
View 的 Data Binding 布局202
将 Activity 和布局绑定203
使用 Binding 对象更新 View205
处理数据变化208
使用 Data Binding 来去除重复代码211
Data Binding 的表达式语言214
总结216
内容摘要
本书介绍了关系型数据库和SQLite相关的理论知识,同时也介绍了在Android开发中和数据相关的方方面面,包括数据类型的定义、数据的增删改查、数据的持久化和展示、使用contentprovider共享数据、使用IntentAPI传递数据,以及和远程服务器进行数据交互等。本书的内容从相关API的基本使用到最佳实践都有涉猎,对于提升Android开发水平,写出更高质量的应用很有帮助。阅读本书,并不需要对Android开发有很多的经验,但是要求读者有一些Android开发基础,理解Android的基础组件。如果对Android/Java的线程模型有一些了解的话,对快速理解内容会很有帮助。
主编推荐
"*了解到 SQLite 数据库和其他关系型数据库的区别
*使用 SQL 语句创建数据库的表结构,并使用 SQL 语句操作数据
*定义 SQLite 的数据类型,并使用这些数据类型
*将高度结构化的数据持久化,以供快速和高效访问
*掌握 Android 中进行数据增删改查的相关的类
*使用Content Provider 在应用内或应用间共享数据
*掌握在 UI 上高效显示数据的策略,并处理好线程相关的问题
*在启动一个新的 Activity 或者 Service 时,使用 Android 的 Intent API 传递数据
*实现应用和远程服务器的双向通信
*降低应用和服务器通信的复杂性,避免常见问题的发生
*使用 Android 的 Data Binding API,写更少的代码,实现更好的性能"
以下为对购买帮助不大的评价