光明吉祥 發表於 2019-12-25 06:51:00

ANDROID物联网开发从入门到实战附源码

<p><img src="https://img2018.cnblogs.com/blog/54608/201912/54608-20191225064009061-1960165084.png" alt=""></p>
<p>&nbsp;</p>
<p>&nbsp; &nbsp; 本书从获取源码和搭建应用开发环境开始讲起,依次讲解了<strong>基础知识篇、数据传输篇、信息识别篇、传感器应用篇和技术提高篇</strong>这 5大部分内容。</p>
<p>&nbsp;</p>
<p><strong>目录</strong></p>
<p>第1篇 基础知识篇</p>
<p>第1章 Android系统介绍 2</p>
<p>1.1 纵览智能设备系统 2</p>
<p>1.1.1 Symbian(塞班) 2</p>
<p>1.1.2 Android(安卓) 2</p>
<p>1.1.3 iOS(苹果系统) 3</p>
<p>1.1.4 Windows Phone(微软系统) 4</p>
<p>1.1.5 BlackBerry OS(黑莓) 4</p>
<p>1.2 分析Android成功的秘诀 5</p>
<p>1.2.1 强有力的业界支持 5</p>
<p>1.2.2 研发阵容强大 6</p>
<p>1.2.3 为开发人员“精心定制” 6</p>
<p>1.2.4 开源 6</p>
<p>1.3 剖析Android系统架构 7</p>
<p>1.3.1 底层操作系统层(OS) 7</p>
<p>1.3.2 各种库(Libraries)和Android</p>
<p>运行环境(RunTime) 8</p>
<p>1.3.3 Application Framework</p>
<p>(应用程序框架) 9</p>
<p>1.3.4 顶层应用程序(Application) 9</p>
<p>1.4 核心组件 9</p>
<p>1.4.1 Activity界面 9</p>
<p>1.4.2 Intent和Intent Filters 10</p>
<p>1.4.3 Service服务 10</p>
<p>1.4.4 Broadcast Receiver发送广播 11</p>
<p>1.4.5 用Content Provider存储数据 11</p>
<p>1.5 进程和线程 12</p>
<p>1.5.1 什么是进程 12</p>
<p>1.5.2 什么是线程 12</p>
<p>1.6 物联网技术改变未来 13</p>
<p>1.6.1 什么是物联网 13</p>
<p>1.6.2 发展历程 13 </p>
<p>1.6.3Android正在成为物联网标准操作系统 14</p>
<p>1.7智能设备凶猛来袭 15</p>
<p>1.7.1常见的Android智能设备 15</p>
<p>1.7.2新兴热点——可穿戴设备 17</p>
<p>1.7.3可穿戴设备的发展前景分析 19</p>
<p>1.7.4Android对穿戴设备的支持——</p>
<p>AndroidWear 120</p>
<p>第2章搭建Android开发环境 21</p>
<p>2.1在Linux系统获取Android源码 21</p>
<p>2.2在Windows平台获取Android源码 22</p>
<p>2.3编译源码 24</p>
<p>2.3.1搭建编译环境 25</p>
<p>2.3.2开始编译 26</p>
<p>2.3.3在模拟器中运行 27</p>
<p>2.3.4常见的错误分析 27</p>
<p>2.3.5实践演练——演示两种编译Android</p>
<p>程序的方法 28</p>
<p>2.4编译AndroidKernel 32</p>
<p>2.4.1获取Goldfish内核代码 34</p>
<p>2.4.2获取MSM内核代码 34</p>
<p>2.4.3获取OMAP内核代码 34</p>
<p>2.4.4编译Android的Linux内核 34</p>
<p>2.5搭建Android应用开发环境 36</p>
<p>2.5.1安装JDK 37</p>
<p>2.5.2获取并安装Eclipse和AndroidSDK 39</p>
<p>2.5.3快速安装SDK 42</p>
<p>2.5.4安装ADT 43</p>
<p>2.5.5验证设置 45</p>
<p>2.5.6创建Android虚拟设备(AVD) 46</p>
<p>2.5.7启动AVD模拟器 48</p>
<p>第2篇 数据传输篇</p>
<p>第3章基本数据通信 52</p>
<p>3.1HTTP通信 52</p>
<p>3.1.1Android中的HTTP 52</p>
<p>3.1.2使用Apache接口 53</p>
<p>3.1.3在Android中使用http://java.net 57</p>
<p>3.1.4使用Android网络接口 59</p>
<p>3.1.5实战演练——在屏幕中传递HTTP参数 60</p>
<p>3.1.6实战演练——在户外运动过程中访问</p>
<p>HTTP地图 64</p>
<p>3.2使用Socket实现数据通信 67</p>
<p>3.2.1基于Socket的Java网络编程 67</p>
<p>3.2.2使用TCP协议传输数据 68</p>
<p>3.3下载数据 72</p>
<p>3.3.1实战演练——下载远程服务器中的图片 72</p>
<p>3.3.2实战演练——下载网络中的JSON信息 73</p>
<p>3.3.3实战演练——下载并播放网络MP3 78</p>
<p>3.4上传数据 84</p>
<p>3.4.1实战演练——上传文件到远程服务器 84</p>
<p></p>
<p>3.4.2实战演练——使用GET方式上传数据 87</p>
<p>3.4.3实战演练——使用POST方式上传数据 91</p>
<p>3.5处理XML数据 94</p>
<p>3.5.1XML的概述 95</p>
<p>3.5.2XML的语法 95</p>
<p>3.5.3获取XML文档 96</p>
<p>3.5.4SAX常用的接口和类 98</p>
<p>3.5.5实战演练——使用SAX解析XML数据 100</p>
<p>3.5.6实战演练——使用DOM解析XML</p>
<p>数据 103</p>
<p>第4章蓝牙技术详解 106</p>
<p>4.1短距离无线通信技术概览 106</p>
<p>4.1.1ZigBee——低功耗、自组网 106</p>
<p>4.1.2WiFi——大带宽支持家庭互联 107</p>
<p>4.1.3蓝牙——4.0进入低功耗时代 107</p>
<p>4.1.4NFC——必将逐渐远离历史舞台 108</p>
<p>4.2低功耗蓝牙基础 108</p>
<p>4.2.1低功耗蓝牙的架构 109</p>
<p>4.2.2低功耗蓝牙分类 109</p>
<p>4.2.3低功耗蓝牙的集成方式 110</p>
<p>4.2.4低功耗蓝牙的特点 111</p>
<p>4.2.5BLE和传统蓝牙BR/EDR技术的对比 111</p>
<p>4.3蓝牙4.0BLE基础 112</p>
<p>4.3.1低功耗是最大特点 112</p>
<p>4.3.2推动了可穿戴设备的兴起 112</p>
<p>4.4蓝牙规范 113</p>
<p>4.4.1Bluetooth常用规范 114</p>
<p>4.4.2蓝牙协议体系结构 114</p>
<p>4.4.3低功耗(BLE)蓝牙协议 116</p>
<p>4.4.4基于GATT的协议/服务 116</p>
<p>4.4.5双模协议栈和单模协议栈 117</p>
<p>4.5低功耗蓝牙协议栈详解 118</p>
<p>4.5.1什么是蓝牙协议栈 118</p>
<p>4.5.2蓝牙协议体系中的协议 119</p>
<p>4.6TI公司的低功耗蓝牙 121</p>
<p>4.6.1获取蓝牙协议栈 121</p>
<p>4.6.2BLE蓝牙协议栈结构 123</p>
<p>4.6.3BLE低功耗蓝牙系统架构 124</p>
<p>4.6.4硬件抽象层HAL和BLE低功耗蓝牙</p>
<p>协议栈 125</p>
<p>4.7实战演练——使用蓝牙控制电风扇 129</p>
<p>第5章Android蓝牙系统详解 142</p>
<p>5.1Android系统中的蓝牙模块 142</p>
<p>5.2分析蓝牙模块的源码 143</p>
<p>5.2.1初始化蓝牙芯片 144</p>
<p>5.2.2蓝牙服务 144</p>
<p>5.2.3管理蓝牙电源 145</p>
<p>5.3和蓝牙相关的类 145</p>
<p></p>
<p>5.3.1BluetoothSocket类 145</p>
<p>5.3.2BluetoothServerSocket类 147</p>
<p>5.3.3BluetoothAdapter类 147</p>
<p>5.3.4BluetoothClass.Service类 154</p>
<p>5.3.5BluetoothClass.Device类 154</p>
<p>5.4AndroidBlueDroid架构详解 155</p>
<p>5.4.1Android系统中BlueDroid的架构 155</p>
<p>5.4.2ApplicationFramework层分析 155</p>
<p>5.4.3分析BluetoothSystemService层 163</p>
<p>5.4.4JNI层详解 163</p>
<p>5.4.5HAL层详解 168</p>
<p>5.5Android中的低功耗蓝牙协议栈 168</p>
<p>5.5.1低功耗蓝牙协议栈基础 169</p>
<p>5.5.2低功耗蓝牙API详解 169</p>
<p>第3篇 信息识别篇</p>
<p>第6章语音识别技术详解 216</p>
<p>6.1语音识别技术基础 216</p>
<p>6.1.1语音识别的发展历史 216</p>
<p>6.1.2语音识别技术的发展历程 217</p>
<p>6.2Text-To-Speech技术 217</p>
<p>6.2.1Text-To-Speech基础 217</p>
<p>6.2.2Text-To-Speech的实现流程 218</p>
<p>6.2.3实战演练——使用Text-To-Speech实现</p>
<p>语音识别 221</p>
<p>6.2.4实战演练——借助开源项目实现中文</p>
<p>语音识别 222</p>
<p>6.3VoiceRecognition技术详解 227</p>
<p>6.3.1VoiceRecognition技术基础 228</p>
<p>6.3.2实战演练——使用VoiceRecognition</p>
<p>实现语音识别 230</p>
<p>6.4实战演练——为设备中所有的APP</p>
<p>实现语音提醒功能 233</p>
<p>第7章手势识别实战 261</p>
<p>7.1Android中的事件监听机制 261</p>
<p>7.1.1Android系统中的监听事件 261</p>
<p>7.1.2Android事件监听器的回调方法 262</p>
<p>7.1.3Android事件处理的两种模型 263</p>
<p>7.1.4基于自定义监听器的事件处理流程 264</p>
<p>7.2手势识别技术介绍 266</p>
<p>7.2.1手势识别类GestureDetector 266</p>
<p>7.2.2手势检测器类GestureDetector 267</p>
<p>7.2.3手势识别处理事件和方法 270</p>
<p>7.3实战演练——通过点击的方式移动</p>
<p>图片 271</p>
<p>7.4实战演练——实现各种手势识别 274</p>
<p>7.4.1布局文件main.xml 274</p>
<p>7.4.2隐藏屏幕顶部的电池等图标和标题</p>
<p>内容 274</p>
<p>7.4.3监听触摸屏幕中各种常用的手势 275</p>
<p>7.4.4根据监听到的用户手势创建视图 276</p>
<p>7.5实战演练——实现手势翻页效果 278</p>
<p>7.5.1布局文件main.xml 278</p>
<p>7.5.2监听手势 278</p>
<p>第8章在物联网设备中处理多媒体数据 284</p>
<p>8.1Android多媒体系统架构基础 284</p>
<p>8.1.1OpenMax框架介绍 285</p>
<p>8.1.2OpenCore框架介绍 286</p>
<p>8.1.3StageFright框架介绍 287</p>
<p></p>
<p>8.2Graphics类详解 288</p>
<p>8.2.1Graphics类基础 288</p>
<p>8.2.2使用Graphics类 288</p>
<p>8.3二维动画 293</p>
<p>8.3.1类Drawable 293</p>
<p>8.3.2实现Tween动画效果 294</p>
<p>8.3.3实现Frame动画效果 296</p>
<p>8.4OpenGLES详解 301</p>
<p>8.4.1OpenGLES基础 301</p>
<p>8.4.2Android用到OpenGLES 301</p>
<p>8.4.3OpenGLES的基本操作 302</p>
<p>8.4.4绘制图形 308</p>
<p>8.5音频开发 312</p>
<p>8.5.1音频接口类 312</p>
<p>8.5.2AudioManager控制铃声 313</p>
<p>8.6录音详解 321</p>
<p>8.6.1使用MediaRecorder接口录制音频 321</p>
<p>8.6.2使用AudioRecord接口录音 324</p>
<p>8.7在物联网设备中播放音乐 327</p>
<p>8.7.1使用AudioTrack播放音频 327</p>
<p>8.7.2使用MediaPlayer播放音频 328</p>
<p>8.7.3使用SoundPool播放音频 328</p>
<p>8.8为物联网设备实现振动功能 329</p>
<p>8.9实战闹钟功能 330</p>
<p>第9章GPS地图定位 331</p>
<p>9.1位置服务 331</p>
<p>9.1.1类location详解 331</p>
<p>9.1.2实现定位服务功能 332</p>
<p>9.1.3实战演练——在Android设备中实现</p>
<p>GPS定位 334</p>
<p>9.2随时更新位置信息 336</p>
<p>9.2.1库Maps中的类 337</p>
<p>9.2.2使用LocationManager监听位置 337</p>
<p>9.2.3实战演练——监听当前设备的坐标和</p>
<p>海拔 339</p>
<p>9.3在设备中使用地图 348</p>
<p>9.3.1添加GoogleMap密钥 348</p>
<p>9.3.2使用MapAPI密钥 351</p>
<p>9.3.3实战演练——在Android设备中使用</p>
<p>谷歌地图实现定位 353</p>
<p>9.4接近警报 357</p>
<p>9.4.1类Geocoder基础 357</p>
<p>9.4.2Geocoder的公共构造器和公共方法 359</p>
<p>9.4.3实战演练——接近某个位置时实现自动</p>
<p>提醒 361</p>
<p>第4篇 传感器应用篇</p>
<p>第10章Android传感器系统架构详解 376</p>
<p>10.1Android传感器系统概述 376</p>
<p>10.2Java层详解 377</p>
<p>10.3Frameworks层详解 383</p>
<p>10.3.1监听传感器的变化 383</p>
<p>10.3.2注册监听 384</p>
<p>10.4JNI层详解 395</p>
<p>10.4.1实现本地函数 396</p>
<p>10.4.2处理客户端数据 400</p>
<p>10.4.3处理服务端数据 403</p>
<p>10.4.4封装HAL层的代码 417</p>
<p>10.4.5消息队列处理 421</p>
<p>10.5HAL层详解 424</p>
<p>10.6Android传感器应用开发基础 432</p>
<p>10.6.1查看包含的传感器 432</p>
<p>10.6.2模拟器测试工具——SensorSimulator 434</p>
<p>10.6.3实战演练——检测当前设备支持的</p>
<p>传感器 437</p>
<p>第11章光线传感器和磁场传感器 439</p>
<p>11.1光线传感器详解 439</p>
<p>11.1.1光线传感器介绍 439</p>
<p>11.1.2使用光线传感器的方法 440</p>
<p>11.1.3实战演练——获取设备中光线</p>
<p>传感器的值 441</p>
<p></p>
<p>11.1.4实战演练——显示设备中光线传感器</p>
<p>的强度 443</p>
<p>11.2磁场传感器详解 445</p>
<p>11.2.1什么是磁场传感器 445</p>
<p>11.2.2磁场传感器的分类 446</p>
<p>11.2.3Android系统中的磁场传感器 446</p>
<p>11.2.4实战演练——获取磁场传感器的3个</p>
<p>分量 447</p>
<p>11.2.5实战演练——演示常用传感器的基本</p>
<p>用法 448</p>
<p>第12章加速度传感器、方向传感器和</p>
<p>陀螺仪传感器 458</p>
<p>12.1加速度传感器详解 458</p>
<p>12.1.1加速度传感器的分类 458</p>
<p>12.1.2加速度传感器的主要应用领域 459</p>
<p>12.1.3线性加速度传感器的原理 460</p>
<p>12.1.4Android系统中的加速度传感器 461</p>
<p>12.1.5实战演练——获取X、Y、Z轴的</p>
<p>加速度值 462</p>
<p>12.1.6实战演练——实现仿微信“摇一摇”</p>
<p>效果 464</p>
<p>12.2方向传感器详解 471</p>
<p>12.2.1方向传感器基础 471</p>
<p>12.2.2Android中的方向传感器 472</p>
<p>12.2.3实战演练——测试当前设备的3个</p>
<p>方向值 473</p>
<p>12.2.4实战演练——开发一个指南针程序 475</p>
<p>12.3陀螺仪传感器详解 477</p>
<p>12.3.1陀螺仪传感器基础 477</p>
<p>12.3.2Android中的陀螺仪传感器 478</p>
<p>12.4实战演练——联合使用加速度传感器和</p>
<p>陀螺仪传感器 481</p>
<p>12.4.1系统介绍界面 481</p>
<p>12.4.2系统主界面 484</p>
<p>第13章旋转向量传感器、距离传感器和</p>
<p>气压传感器 504</p>
<p>13.1旋转向量传感器详解 504</p>
<p>13.1.1Android中的旋转向量传感器 504</p>
<p>13.1.2实战演练——确定设备当前的方向 505</p>
<p>13.2距离传感器详解 516</p>
<p>13.2.1距离传感器介绍 516</p>
<p>13.2.2Android系统中的距离传感器 517</p>
<p>13.2.3实战演练——实现自动锁屏功能 519</p>
<p>13.3气压传感器详解 525</p>
<p>13.3.1气压传感器基础 526</p>
<p>13.3.2气压传感器在智能手机中的应用 526</p>
<p>13.3.3实战演练——开发一个Android</p>
<p>气压计 526</p>
<p>第14章温度传感器和湿度传感器 536</p>
<p>14.1温度传感器详解 536</p>
<p>14.1.1温度传感器介绍 536</p>
<p>14.1.2Android系统中的温度传感器 537</p>
<p>14.1.3实战演练——开发一个Android</p>
<p>温度计 539</p>
<p></p>
<p>14.1.4实战演练——测试电池的温度 541</p>
<p>14.2湿度传感器详解 553</p>
<p>14.2.1Android系统中的湿度传感器 553</p>
<p>14.2.2实战演练——获取远程湿度传感器的</p>
<p>数据 554</p>
<p>第5篇 技术提高篇</p>
<p>第15章条形码解析技术详解 562</p>
<p>15.1Android拍照系统结构基础 562</p>
<p>15.2底层程序详解 564</p>
<p>15.2.1V4L2API 564</p>
<p>15.2.2操作V4L2的流程 565</p>
<p>15.2.3V4L2驱动框架 567</p>
<p>15.2.4实现Video核心层 568</p>
<p>15.3拍照系统的硬件抽象层 571</p>
<p>15.3.1Andorid2.1及其以前的版本 571</p>
<p>15.3.2Andorid2.2及其以后的版本 572</p>
<p>15.3.3实现Camera硬件抽象层 574</p>
<p>15.4拍照系统的Java部分 575</p>
<p>15.5开发拍照应用程序 581</p>
<p>15.5.1通过Intent调用系统的照相机Activity 581</p>
<p>15.5.2调用CameraAPI拍照 582</p>
<p>15.5.3总结Camera拍照的流程 583</p>
<p>15.6解析二维码 585</p>
<p>15.6.1QRCode码的特点 585</p>
<p>15.6.2实战演练——使用Android相机解析</p>
<p>二维码 585</p>
<p>第16章NFC近场通信技术详解 594</p>
<p>16.1近场通信技术基础 594</p>
<p>16.1.1NFC技术的特点 594</p>
<p>16.1.2NFC的工作模式 594</p>
<p>16.1.3NFC和蓝牙的对比 595</p>
<p>16.2射频识别技术详解 595</p>
<p>16.2.1RFID技术简介 596</p>
<p>16.2.2RFID技术的组成 596</p>
<p>16.2.3RFID技术的特点 597</p>
<p>16.2.4RFID技术的工作原理 597</p>
<p>16.3Android系统中的NFC 598</p>
<p>16.3.1分析Java层 599</p>
<p>16.3.2分析JNI部分 614</p>
<p>16.3.3分析底层 619</p>
<p>16.4在Android系统编写NFCAPP的</p>
<p>方法 619</p>
<p>16.5实战演练——使用NFC发送</p>
<p>消息 622</p>
<p>第17章GoogleNow和AndroidWear</p>
<p>详解 627</p>
<p>17.1GoogleNow介绍 627</p>
<p>17.1.1搜索引擎的升级——GoogleNow 627</p>
<p>17.1.2GoogleNow的用法 628</p>
<p>17.2AndroidWear详解 629</p>
<p>17.2.1什么是AndroidWear 629</p>
<p>17.2.2搭建AndroidWear开发环境 630</p>
<p>17.3开发AndroidWear程序 634</p>
<p>17.3.1创建通知 634</p>
<p>17.3.2创建声音 637</p>
<p>17.3.3给通知添加页面 639</p>
<p>17.3.4通知堆 640</p>
<p>17.3.5通知语法介绍 641</p>
<p>17.4实战演练——开发一个AndroidWear</p>
<p>程序 642</p>
<p>17.5实战演练——实现手机和Android</p>
<p>Wear的交互 649</p>
<p>&nbsp;</p>
<p>本书源码已打包好上传至网盘了,下载链接:</p>
<p>https://pan.baidu.com/s/1QVE4n8ry_8GM2U5rKbAOuA</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/jiahuafu/p/12094685.html
頁: [1]
查看完整版本: ANDROID物联网开发从入门到实战附源码