为你推荐

内容简介
作者简介
前言
目 录
第1章 图像加工
1.1 图像装饰
1.1.1 卡片视图
1.1.2 给图像添加装饰
1.1.3 给图像添加水波特效
1.2 位图加工
1.2.1 转换位图的像素色彩
1.2.2 裁剪位图内部区域
1.2.3 利用矩阵变换位图
1.3 自定义图形
1.3.1 位图与图形互转
1.3.2 剪裁图形内部区域
1.3.3 给图形添加小部件
1.4 实战项目:青葱岁月之可爱大头贴
1.4.1 需求描述
1.4.2 功能分析
1.4.3 效果展示
1.5 小结
1.6 动手练习
第2章 事件交互
2.1 按键事件
2.1.1 检测软键盘
2.1.2 检测物理按键
2.1.3 接管返回按键
2.2 触摸事件
2.2.1 手势事件的分发流程
2.2.2 接管手势事件处理
2.2.3 跟踪滑动轨迹实现手写签名
2.3 根据触摸行为辨别手势动作
2.3.1 区分点击和长按动作
2.3.2 识别手势滑动的方向
2.3.3 辨别缩放与旋转手势
2.4 手势冲突处理
2.4.1 上下滚动与左右滑动的冲突处理
2.4.2 内部滑动与翻页滑动的冲突处理
2.4.3 正常下拉与下拉刷新的冲突处理
2.5 实战项目:仿美图秀秀的抠图工具
2.5.1 需求描述
2.5.2 功能分析
2.5.3 效果展示
2.6 小结
2.7 动手练习
第3章 动画特效
3.1 帧动画
3.1.1 帧动画的实现
3.1.2 显示动图特效
1.借助帧动画播放拆解后的组图
2.利用Movie类结合自定义控件播放动图
3.利用ImageDecoder结合动画图形播放动图
3.1.3 淡入淡出动画
3.2 补间动画
3.2.1 补间动画的种类
3.2.2 补间动画的原理
3.2.3 集合动画
3.3 属性动画
3.3.1 常规的属性动画
3.3.2 属性动画组合
3.3.3 插值器和估值器
3.3.4 利用估值器实现弹幕动画
3.4 遮罩动画及滚动器
3.4.1 画布的绘图层次
3.4.2 实现百叶窗动画
3.4.3 利用滚动器实现平滑翻页
3.5 实战项目:仿手机QQ的动感影集
3.5.1 需求描述
3.5.2 功能分析
3.5.3 效果展示
3.6 小结
3.7 动手练习
第4章 手机阅读
4.1 贝塞尔曲线
4.1.1 贝塞尔曲线的原理
4.1.2 实现波浪起伏动画
4.1.3 实现给主播刷礼物的特效
4.2 浏览PDF文件
4.2.1 PDF文件渲染器
4.2.2 实现平滑翻书效果
4.2.3 实现卷曲翻书动画
4.3 JNI开发
4.3.1 NDK环境搭建
4.3.2 创建JNI接口
1.数据类型转换
2.编译规则定义
4.3.3 JNI实现加解密
4.3.4 采取CMake编译方式
4.4 实战项目:笔墨飘香之电子书架
4.4.1 需求描述
4.4.2 功能分析
4.4.3 效果展示
4.5 小结
4.6 动手练习
第5章 三维处理
5.1 OpenGL
5.1.1 三维投影
1.颜色的取值范围
2.三维坐标系
3.坐标矩阵变换
5.1.2 轮廓勾勒
5.1.3 纹理贴图
1.启用纹理的一系列开关设置
2.计算纹理坐标
3.在三维图形上根据纹理点坐标逐个贴上对应的纹理
5.2 OpenGL ES
5.2.1 着色器小程序
5.2.2 通过矩阵变换调整视角
5.2.3 给三维物体贴图
5.3 Vulkan
5.3.1 下一代OpenGL——Vulkan
5.3.2 简单的Vulkan例子
5.3.3 Vulkan的实战应用
5.4 实战项目:虚拟现实的全景相册
5.4.1 需求描述
5.4.2 功能分析
1.实现全景照片的渲染器
2.计算手势触摸引发的角度变更
3.在活动页面加载全景照片的渲染器
5.4.3 效果展示
5.5 小结
5.6 动手练习
第6章 网络通信
6.1 多线程
6.1.1 通过runOnUiThread快速操纵界面
6.1.2 利用线程池Executor调度异步任务
6.1.3 工作管理器WorkManager
6.2 HTTP访问
6.2.1 通过okhttp调用HTTP接口
1.GET方式的请求
2.表单格式的POST请求
3.JSON格式的POST请求
6.2.2 使用okhttp下载和上传文件
6.2.3 实现下拉刷新和上拉加载
6.3 即时通信
6.3.1 通过SocketIO传输文本消息
6.3.2 通过SocketIO传输图片消息
6.3.3 利用WebSocket传输消息
6.4 实战项目:仿微信的私聊和群聊
6.4.1 需求描述
6.4.2 功能分析
1.服务端的Socket连接管理
2.客户端的人员上下线
3.客户端的私聊消息收发
4.客户端的群聊管理
6.4.3 效果展示
6.5 小结
6.6 动手练习
第7章 音韵留声
7.1 音量调节
7.1.1 拖动条和滑动条
7.1.2 音频管理器
7.1.3 音量调节对话框
7.2 音频录播
7.2.1 普通音频的录播
1.媒体录制器MediaRecorder
2.媒体播放器MediaPlayer
7.2.2 原始音频的录播
7.2.3 自定义音频控制条
1.关联音频路径与音频控制条
2.控制条实时显示当前播放进度
3.进度条的拖动操作实时传给媒体播放器
7.3 音效增强
7.3.1 铃声播放
7.3.2 声音池调度
7.3.3 录制WAV音频
1.RIFF块
2.fmt块
3.data块(数据块)
7.3.4 录制MP3音频
7.4 实战项目:仿喜马拉雅的听说书
7.4.1 需求描述
7.4.2 功能分析
7.4.3 效果展示
7.5 小结
7.6 动手练习
第8章 影像记录
8.1 经典相机
8.1.1 表面视图和纹理视图
8.1.2 使用经典相机拍照
8.1.3 使用经典相机录像
1.媒体录制器MediaRecorder
2.媒体播放器MediaPlayer
8.1.4 自定义视频控制条
1.关联视频路径与视频控制条
2.控制条实时显示当前播放进度
3.进度条的拖动操作实时传给视频视图
8.2 二代相机
8.2.1 使用二代相机拍照
1.相机管理器CameraManager
2.相机设备CameraDevice
3.相机拍照会话CameraCaptureSession
4.图像读取器ImageReader
8.2.2 使用二代相机录像
8.2.3 新型播放器ExoPlayer
8.3 画面截取
8.3.1 截取视频的某帧
8.3.2 自定义悬浮窗
8.3.3 对屏幕画面截图
8.4 实战项目:仿抖音的短视频分享
8.4.1 需求描述
8.4.2 功能分析
8.4.3 效果展示
8.5 小结
8.6 动手练习
第9章 定位导航
9.1 基础定位
9.1.1 开启定位功能
9.1.2 获取定位信息
1.定位条件器Criteria
2.定位管理器LocationManager
3.定位监听器LocationListener
9.1.3 根据经纬度查找详细地址
9.2 扩展定位
9.2.1 获取照片里的位置信息
9.2.2 全球卫星导航系统
9.2.3 室内WiFi定位
1.检查是否连接无线网络
2.扫描周围的无线网络
3.计算WiFi路由器的往返时延
9.3 地图导航
9.3.1 集成腾讯地图
9.3.2 显示地图面板
9.3.3 获取地点信息
9.3.4 规划导航路线
9.4 实战项目:仿微信的附近的人
9.4.1 需求描述
9.4.2 功能分析
9.4.3 效果展示
9.5 小结
9.6 动手练习
第10章 物联网
10.1 传感器
10.1.1 传感器的种类
10.1.2 摇一摇——加速度传感器
10.1.3 指南针——磁场传感器
10.1.4 计步器、感光器和陀螺仪
1.计步器
2.感光器
3.陀螺仪
10.2 传统蓝牙
10.2.1 蓝牙设备配对
1.初始化蓝牙适配器
2.启用蓝牙功能
3.搜索周围的蓝牙设备
4.与指定的蓝牙设备配对
10.2.2 蓝牙音频传输
1.定义并设置A2DP的蓝牙代理
2.发现蓝牙音箱,并进行配对和连接
3.定义A2DP的广播接收器,并注册相关广播事件
10.2.3 点对点蓝牙通信
10.3 低功耗蓝牙
10.3.1 扫描BLE设备
10.3.2 发送BLE广播
10.3.3 通过主从BLE实现聊天应用
1.建立GATT连接
2.客户端向服务端发消息
3.服务端向客户端发消息
10.4 实战项目:自动驾驶的智能小车
10.4.1 需求描述
10.4.2 功能分析
10.4.3 效果展示
10.5 小结
10.6 动手练习
第11章 智能语音
11.1 原生语音处理
11.1.1 系统自带的语音引擎
11.1.2 文字转语音
11.1.3 原生的语音识别
11.2 在线语音处理
11.2.1 中文转拼音
11.2.2 在线语音合成
1.定义WebSocket客户端的语音合成任务
2.把语音任务关联到WebSocket服务器
3.创建并启动语音合成任务
11.2.3 在线语音识别
1.定义WebSocket客户端的语音识别任务
2.定义PCM音频的实时录制线程
3.创建并启动语音识别任务
11.3 基于机器学习的语音推断
11.3.1 TensorFlow简介
11.3.2 TensorFlow Lite
11.3.3 从语音中识别指令
11.4 实战项目:你问我答之小小机器人
11.4.1 需求描述
11.4.2 功能分析
1.首次运行时加载初始问答
2.侦听用户的提问并作答
3.判断用户的提问要怎么回答
11.4.3 效果展示
11.5 小结
11.6 动手练习
第12章 人脸识别
12.1 简单图像识别
12.1.1 自动识别验证码
12.1.2 生成二维码图片
12.1.3 扫描识别二维码
1.初始化相机并开始扫码
2.处理扫码结束后的提示音响
3.处理扫码识别到的文本信息
12.2 基于计算机视觉的人脸识别
12.2.1 检测图像中的人脸
12.2.2 OpenCV简介及其集成
12.2.3 利用OpenCV检测人脸
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.6 动手练习
第13章 在线直播
13.1 搭建WebRTC的服务端
13.1.1 WebRTC的系统架构
13.1.2 搭建信令服务器
1.会话控制消息
2.交换网络信息
3.交换媒体能力
13.1.3 搭建穿透服务器
13.2 给App集成WebRTC
13.2.1 引入WebRTC开源库
13.2.2 实现WebRTC的发起方
13.2.3 实现WebRTC的接收方
13.3 实战项目:仿微信的视频通话
13.3.1 需求描述
13.3.2 功能分析
1.联系人列表管理
2.视频通话双方的交互处理
13.3.3 效果展示
13.4 实战项目:仿拼多多的直播带货
13.4.1 需求描述
13.4.2 功能分析
1.服务端的房间信令管理
2.客户端对直播间的管理
3.直播间内的观众互动
13.4.3 效果展示
13.5 小结
13.6 动手练习
附录A 移动互联网行业的新技术发展简表
附录B Android各版本的新增功能简表
附录C Android常用开发库说明简表
附录D 移动开发专业术语索引
附录E 本书的服务端程序说明
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜