发表于2024-11-05
学习为企业系统构建数据驱动的Android应用程序
Android设备已经跨越消费应用范畴,进入企业领域。如果你准备着手构建与企业系统集成的数据驱动型Android应用程序,那么本书无疑是理想之选。 Android数据库应用编程——为企业开发数据驱动Android应用 透彻讲述如何使用内容提供器共享数据、使用适配器显示数据以及使用Web服务传输数据,介绍集成应用程序和现有企业系统、保护数据以及同步数据的方法。通过阅读本书,你将深入理解如何创建当今企业所需的数据密集型应用程序。
《Android数据库应用编程:为企业开发数据驱动Android应用》主要内容
◆ 重点讨论为基于REST的应用程序创建和使用简单数据库以便缓存和同步结果
◆ 介绍内容提供器、REST、并发和网络
◆ 详解使用Hibernate创建REST风格的Web服务以及将其连接到Android
◆ 通过避免在Internet上执行CRUD操作来提高性能
◆ 开始编写连接到Android的后端云服务
◆ 介绍新的开源和通用同步框架(专门与Android API集成)
◆ 解决应用程序实现中的安全问题
Zigurd Mednieks,是一位Android系统开发顾问,曾撰写多本Android软件开发书籍。
G. Blake Meike,是一位工程师、作家和教师,从Java和Android诞生之初,便开始使用这些技术。
Laird Dornin,担任一家重要无线运营商的架构师,曾参与构建移动Java操作系统,已与他人合著两本Android开发书籍。
Zane Pan,先后在多家大公司(包括DEC、Intuit、EMC及最近的Nokia)担任架构师。
第1章 Android平板和智能手机开发 1
1.1 Android是一个Java操作系统 2
1.2 工具和第一个Android应用程序 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 39
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数据库支持 59
3.1 Java中的SQL:SQLiteDatabase类 59
3.1.1 基本的SQL嵌入 60
3.1.2 SQL语法 61
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章 内容提供器 83
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、内容提供器、并发性、网络和同步适配器 113
5.1 REST基础 114
5.1.1 使用REST的理由 114
5.1.2 HTTP协议中REST的应用 116
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章 服务开发 163
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章 移动和云计算 201
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 241
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 259
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应用程序 277
10.1 Migrate客户端 278
10.2 创建一个Migrate项目 279
10.2.1 步骤1:导入项目 279
10.2.2 步骤2:启用该项目作为一个Migrate客户端 279
许多面向企业的应用程序都采用一种主流模式:它们使用一个或多个REST风格的API访问数据。它们将数据显示给用户,允许用户修改数据,并更新服务器上的数据。本书正是一本专注于此类应用程序的书籍。
目标读者
如果你是一位经验丰富的Java或JavaScript程序员,可能对REST风格的应用程序的工作原理已经有所理解。你能正确地认为Android是一个Java操作系统:使用Java编写应用程序,然后将它们部署到在某些方面非常类似于Java虚拟机的环境中。这些应用程序使用REST风格的API进行通信来获取数据,并呈现给用户。
但是,对于Android软件开发的许多方面,先了解Android是如何设计的再着手开发将大有裨益。本书旨在让你在应用现有的经验,使用REST风格的应用程序与API来创建各种的高效、功能齐全的和响应式的Android应用程序之前做好实质性准备。你将避免因为假设Android编程就像是使用Oracle的类库的Web编程或客户端Java编程而导致的陷阱,并一开始就能高效地使用Android API完成任务。
如果你是一位Android编程新手,并且没有太多的iOS或Java经验,或者如果你不确定REST风格的应用程序是不是你需要学习的内容,应该先简单了解Android。初学者将会喜欢Reto Meier的优秀书籍Professional Android 4 Application Development (John Wiley & Sons, 2012)或developer.android.com的在线教程,相比Android的初期,在线文档已经得到很大的改进和完善。
如果你有兴趣将开发视野扩大到服务端,那么本书将赋予你处理应用程序网络两端的数据的能力。
涵盖的内容
本书以创建一个面向企业的Android应用程序的基础知识开始讲解,这些应用程序可以运行在手机和平板电脑上。但它不是一本面向初学者的图书。在阅读本书前,你应该至少阅读了谷歌的Android开发者网站上的在线教程。
Android使用SQLite,而本书相当深入地讲解SQL和SQLite,你将会了解数据如何存储在Android系统的SQLite数据库中。
Android以数据库类包装SQLite,而本书涵盖了这些类,并且对这些类的讨论也足够深入。
当应用程序使用Android环境中的数据时,它们往往使用一个专门的服务组件,称为ContentProvider。这个类以及相关的ContentResolver类提供了一个类似REST的接口,用于访问Android设备内的数据。使用这些类在构建应用程序时具有其他优点,即使用观察者模式。
使你能实现一个端到端的观察者模式是本书的一个要素。你的数据驻留在服务器上的REST风格API背后的数据库中。在本地,数据很可能存储在ContentProvider组件的SQLite数据库中。本书将介绍如何确保呈现给用户的数据是一致并且最新的。
简单也很重要。JSON是表示具有简单性和灵活性数据的一种简单方式,否则,就需要复杂的数据库设计。本书展示如何使用JSON与SQLite以保持实现的简洁,也展示一个复杂的Android数据库和ContentProvider接口,其使用传统的数据库设计方法实现。
当使用本书中的示例时,你将为前端应用程序创建和部署服务器。特别是,在第6章的末尾,第5章和第6章一起形成一个端到端的示例,它涵盖了本书中的技巧。在第7章中你会将此服务部署到亚马逊和谷歌的云资源上。
你不会花太多时间的一件事情是加载指标(loading indicator)。网络应用程序应该尽可能和“本地”应用程序的响应一样灵敏。创建、更新与删除(CRUD)不应该在用户和用户需要的数据之间介入。本书一个非常重要的部分介绍如何使CRUD脱离网络和用户的使用方式,方法是使用一个轻量级但功能强大的同步协议。本书通过引入一个封装了这个方法的开源框架,而完成了这一做法。
本书最后深入讨论Android安全性。
组织结构
本书书名源于其主旨是获取、展示和更新设备上的数据,以及使用云资源,这是大多数企业应用程序的核心。
本书开始快速介绍Android编程,从而引导你入门,创建一个显示数据的应用程序。这是一个尽可能快速的介绍,如果你需要通过Android文档的在线教程更深入地了解一些基本知识,那么不要惊讶。
之后,你将沉浸在本书的核心主题:数据上。本书自底向上介绍:如何在本地存储数据,如何进行查询,如何从REST API得到它并提供服务,在Android中如何实现观察者模式,如何更新它,以及在有、无连接时如何处理上述这一切,并有最好的性能表现。本书后面涵盖更多面向呈现数据的UI编程。本书最后一章介绍Android安全。
要使用本书,你需要什么
本书是关于Android软件开发的,因此其示例需要使用Android软件开发工具包(SDK),可以从developer.android.com下载该工具包。该SDK与三种最流行的桌面操作系统兼容:Windows、Mac OS X和Linux。你可能更愿意使用Android设备来运行代码示例,但你可以使用模拟器,它包含在SDK中,并可以在台式机上运行。
要运行本书中的示例服务,需要下载每一章中的软件包,其中包括:Apach Android数据库应用编程:为企业开发数据驱动Android应用 [Enterprise Android: Programming Android Database A] 下载 mobi epub pdf txt 电子书 格式
Android数据库应用编程:为企业开发数据驱动Android应用 [Enterprise Android: Programming Android Database A] 下载 mobi pdf epub txt 电子书 格式 2024
Android数据库应用编程:为企业开发数据驱动Android应用 [Enterprise Android: Programming Android Database A] 下载 mobi epub pdf 电子书很厚,不知道什么时候能看完,感觉还不错
评分讲的太透彻了,适合我这种小白
评分内容丰富,教程详细,是一本不错的书
评分宝贝收到了,物流很快,很满意。很实用
评分很好。。。。。。。。。。。。。。。
评分作为初学者,感觉一般般,没有源代码司拷
评分内容不错 讲解详细 图文并茂
评分Android Studio开发实战:从零基础到App上线
评分希望能从中学到东西
Android数据库应用编程:为企业开发数据驱动Android应用 [Enterprise Android: Programming Android Database A] mobi epub pdf txt 电子书 格式下载 2024