《Android物联网开发从入门到实战(附光盘)》 孙光宇, 张玲玲
实录520分钟、84个高清学习视频。42个全真实战案例,环环相扣,深入解析Android物联网开发。从内核分析到接口API实现,完整再现一个个经典物联网项目的开发全程。教授精髓,精讲精炼。赠送源码,拿来就用。超值赠送:赠送15个Android应用开发综合案例赠送38个Android应用开发学习视频
第1篇 基础知识篇 第1章 Android系统介绍 1.1 纵览智能设备系统 1.1.1 Symbian(塞班) 1.1.2 Android(安卓) 1.1.3 iOS(苹果系统) 1.1.4 Windows Phone(微软系统) 1.1.5 BlackBerry OS(黑莓) 1.2 分析Android成功的秘诀 1.2.1 强有力的业界支持 1.2.2 研发阵容强大 1.2.3 为开发人员“精心定制” 1.2.4 开源 1.3 剖析Android系统架构 1.3.1 底层操作系统层(OS) 1.3.2 各种库(Libraries)和Android运行环境(RunTime) 1.3.3 Application Framework(应用程序框架) 1.3.4 顶层应用程序(Application) 1.4 核心组件 1.4.1 Activity界面 1.4.2 Intent和Intent Filters 1.4.3 Service服务 1.4.4 Broadcast Receiver发送广播 1.4.5 用Content Provider存储数据 1.5 进程和线程 1.5.1 什么是进程 1.5.2 什么是线程 1.6 物联网技术改变未来 1.6.1 什么是物联网 1.6.2 发展历程 1.6.3 Android正在成为物联网标准操作系统 1.7 智能设备凶猛来袭 1.7.1 常见的Android智能设备 1.7.2 新兴热点——可穿戴设备 1.7.3 可穿戴设备的发展前景分析 1.7.4 Android对穿戴设备的支持——Android Wear 第2章 搭建Android开发环境 2.1 在Linux系统获取Android源码 2.2 在Windows平台获取Android源码 2.3 编译源码 2.3.1 搭建编译环境 2.3.2 开始编译 2.3.3 在模拟器中运行 2.3.4 常见的错误分析 2.3.5 实践演练——演示两种编译Android程序的方法 2.4 编译Android Kernel 2.4.1 获取Goldfish内核代码 2.4.2 获取MSM内核代码 2.4.3 获取OMAP内核代码 2.4.4 编译Android的Linux内核 2.5 搭建Android应用开发环境 2.5.1 安装JDK 2.5.2 获取并安装Eclipse和Android SDK 2.5.3 快速安装SDK 2.5.4 安装ADT 2.5.5 验证设置 2.5.6 创建Android虚拟设备(AVD) 2.5.7 启动AVD模拟器 第2篇 数据传输篇 第3章 基本数据通信 3.1 HTTP通信 3.1.1 Android中的HTTP 3.1.2 使用Apache接口 3.1.3 在Android中使用java.net 3.1.4 使用Android网络接口 3.1.5 实战演练—在屏幕中传递HTTP参数 3.1.6 实战演练—在户外运动过程中访问HTTP地图 3.2 使用Socket实现数据通信 3.2.1 基于Socket的Java网络编程 3.2.2 使用TCP协议传输数据 3.3 下载数据 3.3.1 实战演练——下载远程服务器中的图片 3.3.2 实战演练——下载网络中的JSON信息 3.3.3 实战演练——下载并播放网络MP3 3.4 上传数据 3.4.1 实战演练——上传文件到远程服务器 3.4.2 实战演练——使用GET方式上传数据 3.4.3 实战演练——使用POST方式上传数据 3.5 处理XML数据 3.5.1 XML的概述 3.5.2 XML的语法 3.5.3 获取XML文档 3.5.4 SAX常用的接口和类 3.5.5 实战演练——使用SAX解析XML数据 3.5.6 实战演练——使用DOM解析XML数据 第4章 蓝牙技术详解 4.1 短距离无线通信技术概览 4.1.1 ZigBee—低功耗、自组网 4.1.2 WiFi—大带宽支持家庭互联 4.1.3 蓝牙—4.0进入低功耗时代 4.1.4 NFC—必将逐渐远离历史舞台 4.2 低功耗蓝牙基础 4.2.1 低功耗蓝牙的架构 4.2.2 低功耗蓝牙分类 4.2.3 低功耗蓝牙的集成方式 4.2.4 低功耗蓝牙的特点 4.2.5 BLE和传统蓝牙BR/EDR技术的对比 4.3 蓝牙4.0 BLE基础 4.3.1 低功耗是最大特点 4.3.2 推动了可穿戴设备的兴起 4.4 蓝牙规范 4.4.1 Bluetooth常用规范 4.4.2 蓝牙协议体系结构 4.4.3 低功耗(BLE)蓝牙协议 4.4.4 基于GATT的协议/服务 4.4.5 双模协议栈和单模协议栈 4.5 低功耗蓝牙协议栈详解 4.5.1 什么是蓝牙协议栈 4.5.2 蓝牙协议体系中的协议 4.6 TI公司的低功耗蓝牙 4.6.1 获取蓝牙协议栈 4.6.2 BLE蓝牙协议栈结构 4.6.3 BLE低功耗蓝牙系统架构 4.6.4 硬件抽象层HAL和BLE低功耗蓝牙协议栈 4.7 实战演练——使用蓝牙控制电风扇 第5章 Android蓝牙系统详解 5.1 Android系统中的蓝牙模块 5.2 分析蓝牙模块的源码 5.2.1 初始化蓝牙芯片 5.2.2 蓝牙服务 5.2.3 管理蓝牙电源 5.3 和蓝牙相关的类 5.3.1 BluetoothSocket类 5.3.2 BluetoothServerSocket类 5.3.3 BluetoothAdapter类 5.3.4 BluetoothClass.Service类 5.3.5 BluetoothClass.Device类 5.4 Android BlueDroid架构详解 5.4.1 Android系统中BlueDroid的架构 5.4.2 ApplicationFramework层分析 5.4.3 分析Bluetooth System Service层 5.4.4 JNI层详解 5.4.5 HAL层详解 5.5 Android中的低功耗蓝牙协议栈 5.5.1 低功耗蓝牙协议栈基础 5.5.2 低功耗蓝牙API详解 第3篇 信息识别篇 第6章 语音识别技术详解 6.1 语音识别技术基础 6.1.1 语音识别的发展历史 6.1.2 语音识别技术的发展历程 6.2 Text—To—Speech技术 6.2.1 Text—To—Speech基础 6.2.2 Text—To—Speech的实现流程 6.2.3 实战演练——使用Text—To—Speech实现语音识别 6.2.4 实战演练——借助开源项目实现中文语音识别 6.3 Voice Recognition技术详解 6.3.1 Voice Recognition技术基础 6.3.2 实战演练——使用Voice Recognition实现语音识别 6.4 实战演练——为设备中所有的APP实现语音提醒功能 第7章 手势识别实战 7.1 Android中的事件监听机制 7.1.1 Android系统中的监听事件 7.1.2 Android事件监听器的回调方法 7.1.3 Android事件处理的两种模型 7.1.4 基于自定义监听器的事件处理流程 7.2 手势识别技术介绍 7.2.1 手势识别类GestureDetector 7.2.2 手势检测器类Gest(ueDetector 7.2.3 手势识别处理事件和方法 7.3 实战演练——通过点击的方式移动图片 7.4 实战演练——实现各种手势识别 7.4.1 布局文件main.xml 7.4.2 隐藏屏幕顶部的电池等图标和标题内容 7.4.3 监听触摸屏幕中各种常用的手势 7.4.4 根据监听到的用户手势创建视图 7.5 实战演练——实现手势翻页效果 7.5.1 布局文件main.xml 7.5.2 监听手势 第8章 在物联网设备中处理多媒体数据 8.1 Android多媒体系统架构基础 8.1.1 OpenMax框架介绍 8.1.2 OpenCore框架介绍 8.1.3 StageFright框架介绍 8.2 Graphics类详解 8.2.1 Graphics类基础 8.2.2 使用Graphics类 8.3 二维动画 8.3.1 类Drawable 8.3.2 实现Tween动画效果 8.3.3 实现Frame动画效果 8.4 OpenGL ES详解 8.4.1 OpenGLES基础 8.4.2 Android用到OpenGL ES 8.4.3 OpenGL ES的基本操作 8.4.4 绘制图形 8.5 音频开发 8.5.1 音频接口类 8.5.2 AudioManager控制铃声 8.6 录音详解 8.6.1 使用MediaRecorder接口录制音频 8.6.2 使用AudioRecord接口录音 8.7 在物联网设备中播放音乐 8.7.1 使用AudioTrack播放音频 8.7.2 使用MediaPlayer播放音频 8.7.3 使用SoundPool播放音频 8.8 为物联网设备实现振动功能 8.9 实战闹钟功能 第9章 GPS地图定位 9.1 位置服务 9.1.1 类location详解 9.1.2 实现定位服务功能 9.1.3 实战演练——在Android设备中实现GPS定位 9.2 随时更新位置信息 9.2.1 库Maps中的类 9.2.2 使用LocationManager监听位置 9.2.3 实战演练——监听当前设备的坐标和海拔 9.3 在设备中使用地图 9.3.1 添加Google Map密钥 9.3.2 使用Map API密钥 9.3.3 实战演练——在Android设备中使用谷歌地图实现定位 9.4接近警报 9.4.1 类Geocoder基础 9.4.2 Geocoder的公共构造器和公共方法 9.4.3 实战演练——接近某个位置时实现自动提醒 第4篇 传感器应用篇 第10章 Android传感器系统架构详解 10.1 Android传感器系统概述 10.2 Java层详解 10.3 Frameworks层详解 10.3.1 监听传感器的变化 10.3.2 注册监听 10.4 JNI层详解 10.4.1 实现本地函数 10.4.2 处理客户端数据 10.4.3 处理服务端数据 10.4.4 封装HAL层的代码 10.4.5 消息队列处理 10.5 HAL层详解 10.6 Android传感器应用开发基础 10.6.1 查看包含的传感器 10.6.2 模拟器测试工具——SensorSimulator 10.6.3 实战演练——检测当前设备支持的传感器 第11章 光线传感器和磁场传感器 11.1 光线传感器详解 11.1.1 光线传感器介绍 11.1.2 使用光线传感器的方法 11.1.3 实战演练——获取设备中光线传感器的值 11.1.4 实战演练——显示设备中光线传感器的强度 11.2 磁场传感器详解 11.2.1 什么是磁场传感器 11.2.2 磁场传感器的分类 11.2.3 Android系统中的磁场传感器 11.2.4 实战演练——获取磁场传感器的3个分量 11.2.5 实战演练——演示常用传感器的基本用法 第12章 加速度传感器、方向传感器和陀螺仪传感器 12.1 加速度传感器详解 12.1.1 加速度传感器的分类 12.1.2 加速度传感器的主要应用领域 12.1.3 线性加速度传感器的原理 12.1.4 Android系统中的加速度传感器 12.1.5 实战演练——获取X、Y、Z轴的加速度值 12.1.6 实战演练——实现仿微信“摇一摇”效果 12.2 方向传感器详解 12.2.1 方向传感器基础 12.2.2 Android中的方向传感器 12.2.3 实战演练——测试当前设备的3个方向值 12.2.4 实战演练——开发一个指南针程序 12.3 陀螺仪传感器详解 12.3.1 陀螺仪传感器基础 12.3.2 Android中的陀螺仪传感器 12.4 实战演练——联合使用加速度传感器和陀螺仪传感器 12.4.1 系统介绍界面 12.4.2 系统主界面 第13章 旋转向量传感器、距离传感器和气压传感器 13.1 旋转向量传感器详解 13.1.1 Android中的旋转向量传感器 13.1.2 实战演练——确定设备当前的方向 13.2 距离传感器详解 13.2.1 距离传感器介绍 13.2.2 Android系统中的距离传感器 13.2.3 实战演练——实现自动锁屏功能 13.3 气压传感器详解 13.3.1 气压传感器基础 13.3.2 气压传感器在智能手机中的应用 13.3.3 实战演练——开发一个Android气压计 第14章 温度传感器和湿度传感器 14.1 温度传感器详解 14.1.1 温度传感器介绍 14.1.2 Android系统中的温度传感器 14.1.3 实战演练——开发一个Android温度计 14.1.4 实战演练——测试电池的温度 14.2 湿度传感器详解 14.2.1 Android系统中的湿度传感器 14.2.2 实战演练——获取远程湿度传感器的数据 …… 第5篇 技术提高篇