下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
读书 > 移动开发 >Android > Android数据库应用编程——为企业开发数据驱动Android应用

Android数据库应用编程——为企业开发数据驱动Android应用

综合评级:★★★★★

定价:59.80

作者:(美) 梅德尼克斯 (Mednieks, Z.)  等著,郭华丰 等译

出版社:清华大学出版社

出版日期:2015年2月

页数:361

字数:578000

ISBN:9787302391067

书籍介绍

学习为企业系统构建数据驱动的Android应用程序

Android设备已经超越消费应用范畴,进入企业领域。如果你准备着手构建与企业系统集成的数据驱动型Android应用程序,那么本书无疑是理想之选。 Android数据库应用编程——为企业开发数据驱动Android应用 透彻讲述如何使用内容提供器共享数据、使用适配器显示数据以及使用Web服务传输数据,介绍集成应用程序和现有企业系统、保护数据以及同步数据的方法。通过阅读本书,你将深入理解如何创建当今企业所需的数据密集型应用程序。

主要内容

◆ 重点讨论为基于REST的应用程序创建和使用简单数据库以便缓存和同步结果

◆ 介绍内容提供器、REST、并发和网络

◆ 详解使用Hibernate创建REST风格的Web服务以及将其连接到Android

◆ 通过避免在Internet上执行CRUD操作来提高性能

◆ 开始编写连接到Android的后端云服务

◆ 介绍新的开源和通用同步框架(专门与Android API集成)

◆ 解决应用程序实现中的安全问题

相关课程
目录

第1章 Android平板和智能手机开发

1.1 Android是一个java操作系统

1.2 工具和第一个Android应用程序

1.2.1 前提条件和准备工作

1.2.2 工具链测试驱动

1.3 一个代码库适应所有设备类型

1.3.1 以代码框架示例为起点

1.3.2 自动适应屏幕尺寸

1.4 组件、视图和生命周期

1.4.1 销毁并重建组件

1.4.2 MainActivity类

1.4.3 活动:用户交互的基本单元

1.4.4 Fragment:组织代码和UI的工具

1.4.5 PickFragment类

1.4.6 ItemFragment类

1.4.7 ItemDetailFragment类

1.5 整合Activity、Fragment和Action Bar

1.5.1 TabbedActivity类

1.5.2 针对大平板电脑的Main.xml文件

1.5.3 针对较小屏幕的main.xml和Subsidiary活动

1.5.4 TabActivity类

1.6 Android任务和进程模型

1.6.1 启动Dalvik实例

1.6.2 死亡,但没有变形

1.6.3 跨应用程序和进程的任务

1.7 多处理、安全性以及生命周期

1.8 声明应用程序属性

1.9 本章小结

第2章 关系模型和SQLite

2.1 数据库和关系模型

2.1.1 RDBMS的历史

2.1.2 关系模型

2.1.3 DBMS的其他功能

2.1.4 SQL语言

2.2 SQLite入门

2.2.1 SQLite命令行

2.2.2 SQLite数据库示例

2.3 本章小结

第3章 Android数据库支持

3.1 Java中的SQL:SQLiteDatabase类

3.1.1 基本的SQL嵌入

3.1.2 SQL语法

3.1.3 创建数据库:SQLiteOpenHelper类

3.1.4 管理数据库

3.2 游标、加载器和适配器

3.2.1 游标

3.2.2 适配器和视图绑定器

3.2.3 加载器

3.3 本章小结

第4章 内容提供器

4.1 使用内容提供器

4.1.1 名为URI的虚拟数据集

4.1.2 内容解析器:客户和提供器之间的联系

4.1.3 内容观察者:完成循环

4.1.4 IPC:系统范围可访问性

4.2 合约:URI和类型

4.2.1 授权

4.2.2 虚拟表的URI

4.2.3 返回值的MIME类型

4.2.4 权限

4.2.5 发布合约

4.3 实现内容提供器

4.3.1 创建内容提供器

4.3.2 返回类型和URI匹配器

4.3.3 写数据库

4.3.4 数据库查询

4.3.5 再论内容观察者

4.4 权限和注册

4.5 内容提供器和文件

4.6 本章小结

第5章 REST、内容提供器、并发性、网络和同步适配器

5.1 REST基础

5.1.1 使用REST的理由

5.1.2 HTTP协议中REST的应用

5.1.3 REST API示例

5.1.4 联系人表示方式

5.1.5 联系方法和URI

5.1.6 联系人事务

5.2 Android网络

5.2.1 Apache库

5.2.2 java.net库

5.2.3 权限

5.3 考虑并发性和生命周期

5.3.1 Android并发性架构

5.3.2 原生请求

5.4 健壮网络的架构

5.4.1 方法1:以服务为中心

5.4.2 方法2:以内容提供器为中心

5.4.3 方法3:以同步适配器为中心

5.4.4 Android内部的REST

5.4.5 restfulCachingProviderContacts项目:一个客户端示例

5.4.6 添加联系人

5.5 使用同步适配器

5.5.1 Android账户管理

5.5.2 创建同步适配器

5.6 本章小结

第6章 服务开发

6.1 服务开发的选择

6.1.1 请求的生命周期

6.1.2 三层服务架构

6.1.3 服务开发背景

6.2 为contacts构建REST风格的服务

6.2.1 一个传统的软件架构

6.2.2 编写示例:Spring Contacts服务及其同步变体

6.2.3 示例代码:Spring同步联系人服务

6.3 本章小结

第7章 移动和云计算

7.1 云性能和可伸缩性

7.1.1 移动的规模

7.1.2 云计算的持久性:从SQL到NoSQL

7.1.3 数据库文件格式

7.1.4 NoSQL的持久性

7.2 可扩展持久性的设计考虑事项

7.3 查看主流的云服务供应商

7.3.1 Amazon AWS

7.3.2 谷歌应用程序引擎

7.3.3 Joyent:托管MongoDB + node.js

7.3.4 Red Hat OpenShift

7.4 探讨代码示例

7.4.1 再论联系人DAO接口

7.4.2 编写代码:Amazon Contacts Service

7.4.3 编写代码:Google App Engine联系人

7.5 本章小结

第8章 基于设备的复杂数据:Android Contacts

8.1 PIM数据库:史前智能手机的化石

8.2 Android的Contacts提供器

8.3 ContactsContract API

8.4 Contacts提供器浏览器

8.4.1 用于浏览数据库的代码

8.4.2 Contacts提供器浏览器的源代码

8.5 本章小结

第9章 通用数据同步:Migrate项目和WebData API

9.1 WebData和Migrate项目介绍

9.1.1 Migrate项目的工作原理

9.1.2 Migrate项目如何简化移动端连接到企业的过程

9.1.3 详述 WebData API

9.1.4 WebData API REST风格的协议

9.2 Migrate项目的细节

9.2.1 Migrate项目Android WebData客户端

9.2.2 Android Migrate项目特性

9.3 WebData内容提供器Android API

9.3.1 Android内置提供器API

9.3.2 Migrate提供器API

9.4 本章小结

第10章 WebData应用程序

10.1 Migrate客户端

10.2 创建一个Migrate项目

10.2.1 步骤1:导入项目

10.2.2 步骤2:启用该项目作为一个Migrate客户端

10.2.3 步骤3:定义由Migrate管理的信息

10.2.4 步骤4:生成联系人合约

10.3 与Migrate REST代理交互

10.3.1 第5步:启动一个本地Migrate服务

10.3.2 第6步:发布应用程序的模式

10.4 配置设备

10.4.1 第1步:安装Migrate客户端

10.4.2 第2步:添加WebData账户

10.4.3 第3步:开启同步

10.4.4 第4步:运行应用程序

10.4.5 第5步:在Migrate Contacts中配置一个账户(可选)

10.5 未来的发展方向:MigrateClinic

10.6 本章小结

第11章 为数据构建人性化界面

11.1 相对于“菜谱”方式的模块化和灵活性

11.1.1 模块的概述

11.1.2 布局的改变

11.2 直接操作

11.2.1 TabbedActivity类

11.2.2 TabbedPagedFragment类

11.3 导航

11.3.1 小屏幕环境中的多任务

11.3.2 Android任务模型

11.3.3 任务和传统的进程模型

11.3.4 修改任务行为

11.3.5 在平板电脑中的导航

11.4 选择使用Support Package

11.5 本章小结

第12章 安全

12.1 平台安全

12.2 保持手机安全

12.2.1 避免恶意应用程序

12.2.2 了解恶意软件机制:Malware Genome

12.3 编写安全应用程序

12.3.1 黑客攻击目标

12.3.2 安全应用程序的要素

12.3.3 示例代码:保护REST风格调用

12.3.4 防止盗版

12.4 本章小结

 

前言

  许多面向企业的应用程序都采用一种主流模式:它们使用一个或多个REST风格的API访问数据。它们将数据显示给用户,允许用户修改数据,并更新服务器上的数据。本书正是一本专注于此类应用程序的书籍。

  目标读者

  如果你是一位经验丰富的Java或JavaScript程序员,可能对REST风格的应用程序的工作原理已经有所理解。你能正确地认为Android是一个Java操作系统:使用Java编写应用程序,然后将它们部署到在某些方面非常类似于Java虚拟机的环境中。这些应用程序使用REST风格的API进行通信来获取数据,并呈现给用户。

  但是,对于Android软件开发的许多方面,先了解Android是如何设计的再着手开发将大有裨益。本书旨在让你在应用现有的经验,使用REST风格的应用程序与API来创建各种的高效、功能齐全的和响应式的Android应用程序之前做好实质性准备。你将避免因为假设Android编程就像是使用Oracle的类库的Web编程或客户端Java编程而导致的陷阱,并一开始就能高效地使用AndroidAPI完成任务。

  如果你是一位Android编程新手,并且没有太多的iOS或Java经验,或者如果你不确定REST风格的应用程序是不是你需要学习的内容,应该先简单了解Android。初学者将会喜欢RetoMeier的优秀书籍ProfessionalAndroid4ApplicationDevelopment(JohnWiley&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章中你会将此服务部署到亚马逊和谷歌的云资源上。

  你不会花太多时间的一件事情是加载指标(loadingindicator)。网络应用程序应该尽可能和“本地”应用程序的响应一样灵敏。创建、更新与删除(CRUD)不应该在用户和用户需要的数据之间介入。本书一个非常重要的部分介绍如何使CRUD脱离网络和用户的使用方式,方法是使用一个轻量级但功能强大的同步协议。本书通过引入一个封装了这个方法的开源框架,而完成了这一做法。

  本书最后深入讨论Android安全性。

  组织结构

  本书书名源于其主旨是获取、展示和更新设备上的数据,以及使用云资源,这是大多数企业应用程序的核心。

  本书开始快速介绍Android编程,从而引导你入门,创建一个显示数据的应用程序。这是一个尽可能快速的介绍,如果你需要通过Android文档的在线教程更深入地了解一些基本知识,那么不要惊讶。

  之后,你将沉浸在本书的核心主题:数据上。本书自底向上介绍:如何在本地存储数据,如何进行查询,如何从RESTAPI得到它并提供服务,在Android中如何实现观察者模式,如何更新它,以及在有、无连接时如何处理上述这一切,并有最好的性能表现。本书后面涵盖更多面向呈现数据的UI编程。本书最后一章介绍Android安全。

  要使用本书,你需要什么

  本书是关于Android软件开发的,因此其示例需要使用Android软件开发工具包(SDK),可以从developer.android.com下载该工具包。该SDK与三种最流行的桌面操作系统兼容:Windows、MacOSX和Linux。你可能更愿意使用Android设备来运行代码示例,但你可以使用模拟器,它包含在SDK中,并可以在台式机上运行。

  要运行本书中的示例服务,需要下载每一章中的软件包,其中包括:ApacheTomcat、ant、MySQL和Cygwin工具包。你还将需要有管理特权的亚马逊AWS账户和一个谷歌账户。

  本书约定

  为了帮助你从书本中获得最多价值以及跟踪所发生的事情,你会看到一些约定贯穿全书。

  代码出现在两种不同的方式:

  ●我们使用monofont型,没有突出大部分代码示例。

  ●我们使用粗体强调在目前情况下特别重要的代码。

热门图书
推荐新闻
技术文库
论坛推荐