内容简介
第一部分 基础篇
第1章 开发环境搭建和程序开发基础
1.1 Android简介
1.1.1 Android传奇
1.1.2 Android体系结构
1.2 搭建Android应用开发环境
1.2.1 Android4.4安装
1.2.2 如何解决Android SDK无法下载Package的问题
1.3 第一个Android程序
1.4 Android程序结构
1.5 Android应用的基本组件介绍
1.6 Activity的生命周期
1.7 程序调试
1.8 Android Studio 1.2正式版安装与配置
1.8.1 Windows 7 64位系统安装JDK并配置环境变量
1.8.2 Android Studio环境搭建
1.8.3 创建HelloWorld项目
1.9 相关阅读材料
1.9.1 未来的夏娃
1.9.2 Andy Rubin的黯然离场:他为何非走不可?
1.9.3 Andy Rubin早年岁月
1.10 本章小结
习题1
第2章 用户界面设计
2.1 用户界面基础
2.2 常用控件
2.2.1 TextView和EditText
2.2.2 Button与ImageButton
2.2.3 单选按钮RadioButton和复选按钮CheckBox
2.2.4 ImageView
2.2.5 ProgressBar
2.2.6 ScrollView
2.2.7 ListView
2.2.8 GridView
2.2.9 AlertDialog
2.3 界面布局
2.3.1 线性布局及android:layout_weight属性设置
2.3.2 帧布局
2.3.3 表格布局
2.3.4 相对布局
2.3.5 绝对布局
2.3.6 网格布局
2.4 消息提示
2.5 Handler消息传递机制
2.6 项目实战—“3G商城”(一)
2.6.1 任务说明
2.6.2 项目讲解
2.6.3 典型代码及技术实现
2.7 相关阅读材料:Android用户界面中单位的使用
2.8 本章小结
习题2
第3章 组件通信
3 1 Activity
3.1.1 Activity配置
3.1.2 启动和关闭Activity
3.1.3 使用Bundle在Activity之间交换数据
3.1.4 调用另一个Activity并返回结果
3.2 Intent对象
3.3 发送并返回短信内容举例
3.4 本章小结
习题3
第4章 后台服务与广播消息
4.1 Service应用
4.1.1 简介
4.1.2 进程内服务
4.1.3 跨进程服务
4.2 接收广播消息
4.2.1 简介
4.2.2 发送广播
4.2.3 有序广播
4.2.4 接收系统广播消息
4.3 相关阅读材料:Android开源库EventBus
4.4 本章小结
习题4
第5章 数据存储与访问
5.1 使用SharedPreferences
5.1.1 简介
5.1.2 SharePreferences举例
5.2 文件存储
5.2.1 简介
5.2.2 读写SD卡上的文件
5.2.3 文件存储举例
5.3 SQLite数据库
5.3.1 简介
5.3.2 手动创建SQLite 数据库
5.3.3 SQLiteDatabase
5.4 数据共享
5.4.1 ContentProvider
5.4.2 创建数据提供者
5.4.3 使用数据提供者
5.4.4 ContentProvider举例
5.5 项目实战——课程表
5.5.1 任务说明
5.5.2 项目讲解
5.5.3 典型代码及技术要点
5.6 本章小结
习题5
第6章 Android网络应用
6.1 HTTP通信
6.2 Socket通信
6.3 使用WebView显示网页
6.4 项目实战——查询员工信息
6.4.1 任务说明
6.4.2 项目讲解
6.4.3 典型代码及技术要点
6.5 本章小结
习题6
第7章 图形图像处理
7.1 基本绘图
7.1.1 准备画布(Canvas)
7.1.2 准备画笔(Paint)
7.1.3 位图处理(Bitmap和BitmapFactory)
7.2 2D绘图
7.2.1 几何图形
7.2.2 文本
7.2.3 路径
7.2.4 图片
7.3 图形特效处理
7.3.1 平移、旋转、缩放、倾斜
7.3.2 扭曲
7.3.3 位图着色器
7.4 综合练习
7.4.1 任务说明
7.4.2 代码实现
7.5 本章小结
习题7
第8章 Fragment
8.1 Fragment概述
8.2 Fragment的生命周期
8.3 Fragment使用
8.4 将Fragment加入Activity中
8.5 使用Fragment举例
8.6 本章小结
习题8
第9章 Java并发编程
9.1 Java线程池简介
9.2 Executor与 ExecutorService
9.3 ThreadPoolExecutor
9.4 Future模式
9.5 项目实战——“3G商城”(二)
9.5.1 任务说明
9.5.2 项目讲解
9.5.3 典型代码及技术要点
9.6 本章小结
习题9
第二部分 提高篇
第10章 百度地图开发
10.1 Android地图SDK
10.1.1 概述
10.1.2 申请密钥
10.1.3 SimpleMapDemo
10.1.4 基础地图
10.1.5 事件监听
10.2 Android定位SDK
10.3 Android导航SDK
10.4 项目实战——“开发百度地图”
10.4.1 任务说明
10.4.2 项目讲解
10.4.3 典型代码及技术要点
10.5 本章小结
习题10
第11章 ViewPager和PageAdapter
11.1 ViewPager和PageAdapter
11.2 FragmentPageAdapter实现仿QQ界面
11.3 仿网易新闻客户端Tab标签实现
11.4 本章小结
习题11
第12章 PostgreSQL 9
12.1 PostgreSQL简介
12.2 PostgreSQL9的安装与配置
12.2.1 安装
12.2.2 使用pgAdmin Ⅲ连接PostgreSQL
12.3 数据库的基本操作
12.3.1 创建数据库
12.3.2 修改数据库
12.3.3 删除数据库
12.4 数据表的基本操作
12.4.1 创建数据表
12.4.2 修改数据表
12.4.3 删除数据表
12.5 插入、更新与删除数据
12.5.1 插入
12.5.2 更新
12.5.3 删除
12.6 数据查询
12.6.1 查询语句
12.6.2 单表查询
12.6.3 集合函数查询
12.6.4 连接查询
12.6.5 子查询
12.6.6 正则表达式查询
12.6.7 别名
12.7 综合练习
12.7.1 任务说明
12.7.2 具体实现
12.8 相关阅读材料:数据备份与还原
12.9 本章小结
习题12
第三部分 开发篇
第13章 在手机客户端解析JSON
13.1 JSON简介
13.2 服务器端生成JSON数据
13.3 在手机客户端解析JSON
13.4 项目实战——“3G商城”(三)
13.4.1 任务说明
13.4.2 项目讲解
13.4.3 典型代码及技术要点
13.5 本章小结
习题13
第14章 消息推送
14.1 Android消息推送机制
14.1.1 推送方式基础
14.1.2 消息推送实现原理
14.2 Android平台的消息推送实现
14.2.1 Push在Android平台上长连接的实现
14.2.2 使用Androidpn实现消息推送
14.3 项目实战——“Android客户端实现推送”
14.3.1 任务说明
14.3.2 项目讲解
14.3.3 典型代码及技术要点
14.4 相关阅读材料
14.4.1 几种常见的消息推送解决方案
14.4.2 Androidpn所存在的一些问题
14.5 本章小结
习题14
第15章 Android账户管理
15.1 账户管理相关类
15.2 使用OAuth 2.0来进行鉴定
15.3 应用程序如何将一个账号注册到系统中
15.4 创建自定义账户示例
15.5 本章小结
习题15
第16章 MyBatis框架原理
16.1 MyBatis框架简介
16.2 从JDBC到MyBatis
16.3 使用MyBatis进行一次简单的SQL查询
16.3.1 准备工作
16.3.2 主要步骤
16.3.3 小结
16.4 配置文件说明
16.4.1 主配置文件
16.4.2 接口文件
16.4.3 SQL映射文件
16.4.4 动态SQL
16.5 MyBatis应用
16.5.1 数据的增、删、改、查
16.5.2 关联数据的查询
16.5.3 分页数据的查询
16.5.4 与Spring3集成
16.5.5 与Spring MVC集成
16.6 本章小结
习题16
第17章 Maven和Gradle
17.1 初识Maven
17.2 Maven的安装和配置
17.3 Maven使用
17.4 坐标和依赖
17.5 构建支持Servlet 3.0的Maven Web应用
17.6 Gradle来了
17.7 本章小结
习题17
第18章 服务器端接口编程
18.1 JNDI数据源配置
18.2 Log4J与SLF4J
18.3 项目实战——“3G商城”(四)
18.3.1 任务说明
18.3.2 项目讲解
18.3.3 典型代码及技术要点
18.4 MyBatis VS Hibernate
18.5 相关阅读材料:Flexjson
18.6 本章小结
习题18
第四部分 拓展篇
第19章 即时通信
19.1 XMPP协议
19.2 openfire
19.2.1 openfire简介
19.2.2 openfire安装与配置
19.3 Smack简介
19.4 项目实战——“实现即时通信”
19.4.1 登录openfire服务器
19.4.2 获取好友列表
19.4.3 客户端接收服务器发送的消息
19.4.4 初步实现两个客户端通信
19.5 相关阅读材料
19.5.1 将openfire源代码导入 Eclipse
19.5.2 openfire插件开发
19.6 本章小结
习题19
第20章 友盟统计及社会化组件
20.1 友盟应用统计分析
20.1.1 集成准备
20.1.2 友盟统计分析示例
20.2 友盟社会化分享组件
20.3 本章小结
习题20
第21章 Android客户端程序架构
21.1 概述
21.2 项目实战——“掌上苏大”
21.2.1 任务说明
21.2.2 整体框架和运行主界面
21.2.3 Android全局对象Application
21.2.4 整个应用的线程终止异常处理
21.2.5 程序执行主要流程
21.2.6 推送的实现
21.2.7 整个应用的后台服务和广播接收机制
21.2.8 使用友盟第三方平台对用户行为进行分析
21.2.9 Android系统账户实现
21.2.10 其他
21.3 本章小结
习题21
第22章 Java设计模式
22.1 设计模式(Design Pattern)的分类和设计原则
22.1.1 设计模式的分类
22.1.2 设计原则
22.2 创建模式(Creational Pattern)
22.2.1 工厂方法模式(Factory Method)和抽象工厂模式(Abstract Factory)
22.2.2 单例模式(Singleton)
22.2.3 建造者模式(Builder)
22.2.4 原型模式(Prototype)
22.3 结构模式(Structural Pattern)
22.3.1 适配器模式(Adapter)和装饰模式(Decorator)
22.3.2 代理模式(Proxy)和外观模式(Facade)
22.3.3 桥接模式(Bridge)和组合模式(Composite)
22.3.4 享元模式(Flyweight)
22.4 行为模式(Behavioral Pattern)
22.4.1 策略模式(Strategy)和模板方法模式(Template Method)
22.4.2 观察者模式(Observer)、迭代器模式(Iterator)、责任链模式(Chain of Responsibility)和命令模式(Command)
22.4.3 备忘录模式(Memento)和状态模式(State)
22.4.4 访问者模式(Visitor)、中介者模式(Mediator)和解释器模式(Interpreter)
22.5 本章小结
习题22
第23章 版本控制工具——SVN和Git
23.1 版本控制基础知识
23.2 SVN
23.2.1 SVN服务端
23.2.2 SVN客户端
23.2.3 Android Studio中使用SVN
23.3 Git和GitHub
23.3.1 Git安装
23.3.2 远程仓库
23.3.3 分支管理
23.3.4 使用GitHub
23.3.5 Android Studio中使用Git
23.4 比较SVN和Git
23.5 本章小结
习题23
附录A Eclipse中编码问题(包括ADT)
附录B Eclipse自动部署项目到Tomcat的webapps目录
附录C ADB命令
参考文献