内容简介
第一篇 基础技术篇
第1章 Android技术概述
1.1智能手机系统介绍
1.1.1何谓智能手机
1.1.2看当前主流的智能手机系统
1.1.3 Android 5.0的突出变化
1.2搭建Android应用开发环境
1.2.1安装Android SDK的系统要求
1.2.2安装JDK
1.2.3获取并安装Eclipse和Android SDK
1.2.4安装ADT
1.2.5设定Android SDK Home
1.2.6验证开发环境
1.2.7创建Android虚拟设备(AVD)
1.2.8启动AVD模拟器
1.2.9解决搭建环境过程中的常见问题
第2章 Android技术核心框架分析
2.1简析Android安装文件
2.1.1 Android SDK目录结构
2.1.2 android.jar及内部结构
2.1.3阅读SDK帮助文档
2.1.4常用的SDK工具
2.2演示官方实例
2.3剖析Android系统架构
2.3.1 Android体系结构介绍
2.3.2 Android应用工程文件组成
2.4简述五大组件
2.4.1用Activity来表现界面
2.4.2用Intent和IntentFilter实现切换
2.4.3 Service为你服务
2.4.4用BroadcastIntentReceiver发送广播
2.4.5用ContentProvider存储数据
2.5进程和线程
2.5.1先看进程
2.5.2再看线程
2.5.3应用程序的生命周期
2.6第一段Android程序
第3章 获取并分析Android源码
3.1获取Android源码
3.1.1在Linux系统中获取Android源码
3.1.2在Windows系统中获取Android源码
3.2分析Android源码结构
3.3编译Android源码
3.3.1搭建编译环境
3.3.2开始编译
3.3.3在模拟器中运行
3.3.4常见的错误分析
3.3.5实践演练——演示两种编译Android程序的方法
第二篇 系统分析篇
第4章 Android多媒体框架
4.1 Android多媒体系统介绍
4.2 OpenMax框架详解
4.2.1分析OpenMax框架构成
4.2.2实现OpenMax IL层接口
4.3分析OpenCore框架
4.3.1 OpenCore层次结构
4.3.2 OpenCore代码结构
4.3.3 OpenCore编译结构
4.3.4操作系统兼容库
4.3.5实现OpenCore中的OpenMax部分
4.3.6 OpenCore扩展详解
4.4 Stagefright框架详解
4.4.1 Stagefright代码结构
4.4.2 Stagefright实现OpenMax接口
4.4.3分析Video Buffer传输流程
第5章 音频系统框架
5.1音频系统基础
5.2分析音频系统的层次
5.2.1层次说明
5.2.2 Media库中的Audio框架
5.2.3本地代码
5.2.4分析JNI代码
5.2.5 Java层代码简介
5.3 Audio系统的硬件抽象层
5.3.1 Audio硬件抽象层基础
5.3.2分析AudioFlinger中的Audio硬件抽象层的实现
5.3.3真正实现Audio硬件抽象层
5.4分析编码/解码过程
5.4.1 AMR编码
5.4.2 AMR解码
5.4.3解码MP3
第6章 视频系统框架
6.1视频系统结构
6.2分析硬件抽象层
6.2.1 Overlay系统硬件抽象层的接口
6.2.2实现Overlay系统的硬件抽象层
6.2.3实现接口
6.3实现Overlay硬件抽象层
第7章 照相机系统
7.1 Camera系统的结构
7.2 Camera驱动层实现详解
7.2.1 V4L2驱动程序
7.2.2硬件抽象层
7.3实现Camera系统的硬件抽象层
7.3.1 Java程序部分
7.3.2 Camera的Java本地调用部分
7.3.3 Camera的本地库libui.so
7.3.4 Camera服务libcameraservice.so
第8章 Alarm时钟系统
8.1 Alarm系统基础
8.2分析RTC驱动程序
8.3 Alarm驱动程序详解
8.3.1分析文件android_alarm.h
8.3.2分析文件alarm.c
8.3.3分析文件alarm-dev.c
8.4 JNI层详解
8.5 Java层详解
8.5.1分析AlarmManagerService类
8.5.2分析AlarmManager类
第9章 振动器系统
9.1振动器系统结构
9.2硬件抽象层实现详解
9.3分析Java层部分
9.4实现硬件抽象层
第三篇 典型应用篇
第10章 二维图像渲染
10.1 SurfaceFlinger渲染管理器
10.1.1 SurfaceFlinger基础
10.1.2 Surface和Canvas
10.2 Surface渲染详解
10.2.1渲染类Surface详解
10.2.2分析Layer和LayerBuffer
10.3 Skia渲染引擎详解
10.3.1 Skia基础
10.3.2 Android中的Skia
10.3.3使用Skia绘图
10.3.4 Skia的其他功能
第11章 绘制二维图像
11.1绘图界面布局详解
11.1.1 View视图组件
11.1.2 ViewGroup容器
11.1.3 Layout规划布局
11.2 Android绘图基础
11.2.1使用Canvas画布
11.2.2使用Paint类
11.2.3位图操作类Bitmap
11.3使用其他的绘图类
11.3.1使用设置文本颜色类Color
11.3.2使用矩形类Rect和RectF
11.3.3非矢量图形拉伸类NinePatch
11.3.4使用变换处理类Matrix
11.3.5使用BitmapFactory类
11.3.6使用Region类
11.3.7使用类Typeface
第12章 二维动画应用
12.1使用Drawable实现动画效果
12.1.1 Drawable基础
12.1.2使用Drawable实现动画效果
12.2 Tween Animation动画详解
12.2.1 Tween动画基础
12.2.2 Tween动画类详解
12.2.3 Tween应用实战
12.3实现Frame Animation动画效果
12.3.1 Frame动画基础
12.3.2使用Frame动画
12.4 Property Animation动画
12.4.1 Property Animation(属性)动画基础
12.4.2使用Property Animation
12.5实现动画效果的其他方法
12.5.1播放GIF动画
12.5.2实现EditText动画特效
第13章 渲染二维图像
13.1使用渲染类Shader
13.2使用SurfaceFlinger渲染器
13.2.1 SurfaceFlinger基础
13.2.2渲染Android手机屏幕中的图形
13.3使用Skia渲染引擎
13.3.1 Skia基础
13.3.2使用Skia绘图
13.4通过Skia绘制文字
第14章 开发音频应用程序
14.1音频应用接口类介绍
14.2 AudioManager类
14.2.1 AudioManager基础
14.2.2 AudioManager基本应用——设置短信提示铃声
14.2.3 AudioManager基本应用——调节手机音量的大小
14.3录音处理
14.3.1使用MediaRecorder接口录制音频
14.3.2使用AudioRecord接口录制音频
14.4播放音频
14.4.1使用AudioTrack播放音频
14.4.2使用MediaPlayer播放音频
14.4.3使用SoundPool播放音频
14.4.4使用Ringtone播放铃声
14.4.5使用JetPlayer播放音频
14.4.6使用AudioEffect处理音效
14.5语音识别技术
14.5.1 Text-To-Speech技术
14.5.2谷歌的Voice Recognition技术
14.6实现振动效果
14.6.1 Vibrator类基础
14.6.2使用Vibrator实现振动效果
14.7设置闹钟
14.7.1 AlarmManage基础
14.7.2开发一个闹钟程序
第15章 开发视频应用程序
15.1使用MediaPlayer播放视频
15.2使用VideoView播放视频
15.2.1 VideoView基础
15.2.2使用VideoView播放手机中的影片
15.2.3使用VideoView播放手机中的MP4
15.2.4开发一个网络视频播放器
15.3使用Camera拍照
15.3.1 Camera基础
15.3.2总结Camera拍照的流程
15.3.3使用Camera预览并拍照
15.3.4使用Camera API方式拍照
第四篇 三维技术篇
第16章 OpenGL ES系统初步
16.1 OpenGL ES介绍
16.1.1 OpenGL ES 3.0介绍
16.1.2 Android全面支持OpenGL ES 3.0
16.2 OpenGL ES 3.0系统初步分析
16.3分析下层的包裹库
16.3.1 libGLESvl_CM.so包裹库详解
16.3.2 libGLESv2包裹库详解
16.3.3 libEGL包裹库详解
16.4加载并解析OpenGL库
16.4.1开始加载并解析
16.4.2库加载器Loader详解
16.5 EGL实现详解
16.5.1分析EGL的数据结构
16.5.2分析EGL的API
第17章 OpenGL ES基本应用
17.1 OpenGL ES的基本应用
17.1.1使用点线法绘制三角形
17.1.2使用索引法绘制三角形
17.1.3使用顶点法绘制三角形
17.2实现投影效果
17.2.1正交投影
17.2.2透视投影
17.2.3正交投影和透视投影的区别
17.2.4实现投影效果
17.3实现光照效果
17.3.1光源的类型
17.3.2光源的颜色
17.3.3开启/关闭光照
第18章 纹理映射
18.1纹理映射基础
18.1.1纹理贴图和纹理拉伸
18.1.2 Texture Filter纹理过滤
18.2实现三角形纹理贴图效果
18.3实现地月模型效果
18.4实现纹理拉伸效果
第19章 绘制不同的三维形状
19.1绘制一个圆柱体
19.2绘制一个圆环
19.3绘制一个抛物面效果
19.4绘制一个螺旋面效果
第20章 坐标变换和混合
20.1实现坐标变换
20.1.1坐标变换基础
20.1.2实现缩放变换
20.1.3实现平移变换
20.2使用Alpha混合技术
20.2.1基本知识
20.2.2实现简单混合
20.2.3实现光晕和云层效果
20.2.4实现滤光器效果
第21章 OpenGL ES进阶
21.1实现摄像机和雾特效功能
21.1.1摄像机基础
21.1.2雾特效基础
21.1.3实现雾特效和摄像机效果
21.2粒子系统
21.2.1粒子系统基础
21.2.2实现粒子系统效果
21.3镜像技术
21.4实现旗帜飘扬效果
第五篇 综合实战篇
第22章 开发一个屏保系统
22.1屏幕保护程序介绍
22.1.1屏幕保护程序的作用
22.1.2手机中的屏幕保护程序
22.2开发屏保程序的原理
22.3开发一个屏保程序
22.3.1准备素材图片
22.3.2编写布局文件
22.3.3编写主程序文件
第23章 开发一个音乐播放器
23.1项目介绍
23.1.1项目背景介绍
23.1.2项目的目的
23.2系统需求分析
23.2.1构成模块
23.2.2系统流程
23.2.3功能结构图
23.2.4系统功能说明
23.2.5系统需求
23.3数据库设计
23.3.1字段设计
23.3.2 E-R图设计
23.3.3数据库连接
23.3.4创建数据库
23.3.5操作数据库
23.3.6数据显示
23.4具体编码
23.4.1设置服务信息
23.4.2播放器主界面
23.4.3播放列表功能
23.4.4菜单功能模块
23.4.5播放设置界面
23.4.6设置显示歌词
23.4.7文件浏览器模块
23.4.8数据存储
第24章 开发一个闹钟系统
24.1项目介绍
24.1.1系统需求分析
24.1.2构成模块
24.2系统主界面
24.2.1布局文件
24.2.2程序文件
24.3闹钟列表模块
24.3.1设置主界面
24.3.2设置闹钟界面
24.3.3闹钟提醒模块
24.3.4重复设置
24.3.5闹钟数据操作
24.4选择铃声音乐