《android传感器高级编程》译者序

翻看手机中的应用,就能发现大多数应用都已经使用了传感器。让微信彻底火起来的“附近的人”和“摇一摇”、碰一碰交换信息的Bump、各种运动记录app、神奇的“磁力探测仪”、火爆的游戏Temple Run……手机设备中的传感器让应用的可玩性大大增加,提供了各种创新的交互方式,以及在PC上很难实现的功能。在我看来,移动设备相对PC来说的主要优势在于随时随地的便携性,还有就是丰富的传感器。用好传感器,已经是手机应用开发的必修课。
可是开始听到本书书名时,对翻译本书并没有什么兴趣。我自己也写过一本Android开发方面的书,觉得介绍传感器编程的话,一个章节足以。可是在看了英文书后,发现本书并不是简单地介绍Android传感器API的调用,而是非常专业细致地介绍了Android传感器。这本书将教会你真正用好Android传感器。
首先,本书对传感器的介绍都非常深入。我一直认为,要真正用好一个东西,必须了解其原理。本书对传感器的原理都作了必要的解读,就拿第1章来说,相信大家都知道GPS的原理,但是你知道A-GPS吗?S-GPS呢?是否知道Wi-Fi定位和移动网络定位的原理呢?想要用好Android的定位服务,这些知识是必需的。我的一位朋友前几天还问我,他玩微信中“附近的人”,明明在杭州却老是定位在南京。其实原因就是他在使用Wi-Fi定位,而这个路由器在南京呆了6年,在Google的数据库中早就被定位在了南京的某地,Google并没有即时更新该数据库。如果微信考虑这种情况,相信可以对这种状况做一些特别的处理。
其次,本书的范围很广。与其说是介绍传感器,倒不如说是介绍如何充分利用Android设备的硬件能力。本书分4个部分,涵盖了定位的相关内容、各种物理传感器的介绍(包括重力传感器、加速计、磁强计等,还介绍了AOA和ADK),同时还包括了NFC、摄像头、图像处理、麦克风等,以及语音识别和文本转语音的内容。可以说,本书完全涵盖了Android的硬件设备能力,能够用来打造一个非常有趣的应用。运用好这些硬件,可以充分发挥Android设备智能和便携的特性。同时这也是相对Web 应用来说非常大的优势。书中甚至包括了最近火热的Arduino的使用介绍,读者可以尽情地创新创意。
再次,本书的示例非常丰富,并且很多都可以简单复用。书中有着大量的示例,大多都是作者对传感器使用的最佳实践,并且结合了实际的使用场景,而不是简单的demo。同时,作者提供了大量框架性的代码,读者都可以直接复用。通过这些示例,读者可以快速掌握这些传感器的用法。
在翻译本书的过程中,感谢我的家人,你们给了我最大的支持。感谢我的好朋友徐婷翻译了第六章,且对本书一丝不苟的校对,让行文更加通顺优美,在很多专业知识上也提供了宝贵的建议并对本书的第6章有所贡献,在整个翻译过程中给了我莫大的支持和鼓励。感谢我所有的朋友和同事,本书的完成少不了你们的鼓励和支持。感谢清华大学出版社的编辑给了足够的耐心,并给了我很多的建议和帮助,让我获益匪浅。
本书的翻译过程非常艰辛,可谓一波三折。在本书付梓之际,虽然高兴,却也多了几分惶恐。这也是我的第一本译作,自觉水平有限,而本书其实又由多个作者完成,语言风格迥异,虽然我已经尽了很大的努力,但是肯定难免会有一些错漏和偏颇之处。对于本书的任何想法和意见都欢迎发送邮件至notice520@gmail.com。
最后,希望本书能帮助各位开发人员打造更美、更有创意、更有趣的移动应用。
《android传感器高级编程》译者序的更多相关文章
- 《Python算法教程》译者序
在计算机的世界中,算法本质上是我们对某一个问题或者某一类问题的解决方案.也就是说,如果我们想用计算机来解决问题的话,就必须将问题的解决思路准确而完整地描述出来,同时计算机也要能理解这个描述.这需要我们 ...
- python算法介绍:希尔排序
python作为一种新的语言,在很多功能自然要比Java要好一些,也容易让人接受,而且不管您是成年人还是少儿都可以学习这个语言,今天就为大家来分享一个python算法教程之希尔排序,现在我们就来看看吧 ...
- Python快速教程 尾声(转)
原文地址: http://www.cnblogs.com/vamei/p/3603046.html 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留 ...
- python快速教程-vamei
2016年10月26日 12:00:53 今天开始着手python的学习,希望能高效快速的学完! Python基础(上)... 7 实验简介... 7 一.实验说明... 8 1. 环境登录... 8 ...
- Python 简明教程 ---10,Python 列表
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 程序 = 算法 + 数据结构 -- Nicklaus Wirth 目录 从这句话程序 = 算法 + ...
- Python快速教程 尾声
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 写了将近两年的Python快速教程,终于大概成形.这一系列文章,包括Python基 ...
- 改写《python基础教程》中的一个例子
一.前言 初学python,看<python基础教程>,第20章实现了将文本转化成html的功能.由于本人之前有DIY一个markdown转html的算法,所以对这个例子有兴趣.可仔细一看 ...
- 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV
这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...
- .Net程序员之Python基础教程学习----列表和元组 [First Day]
一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...
- 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇
始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...
随机推荐
- 再说 c++11 内存模型
可见性与乱序 在说到内存模型相关的东西时,我们常常会说到两个名词:乱序与可见性,且两者经常交错着使用,容易给人错觉仿佛是两个不同的东西,其实不是这样,他们只是从不同的角度来描述一个事情,本质是相同的. ...
- Objective-C之类和对象
http://www.cnblogs.com/kenshincui/p/3861302.html
- ruby self.included用法
===Module#included 当一个模块混入到类时,如果该模块的included方法已经定义,那么该方法被调用.该方法的唯一参数就是接受混含的类的名字. module M def self.i ...
- 一款 .NET 下的轻量级 REST 和 HTTP API 客户端 - RestSharp
项目地址:https://github.com/restsharp/RestSharp Features Supports .NET 3.5+, Silverlight 4, Windows Phon ...
- http协议客户端向服务器端请求时一般需要发送的内容
out.println("GET /shopping/index.html HTTP/1.1");//请求行 包括请求方式,文件路径, http协议版本(必写)请求头.... ou ...
- 二项堆(二)之 C++的实现
概要 上一章介绍了二项堆的基本概念,并通过C语言实现了二项堆.本章是二项堆的C++实现. 目录1. 二项树的介绍2. 二项堆的介绍3. 二项堆的基本操作4. 二项堆的C++实现(完整源码)5. 二项堆 ...
- Hadoop第1~2周练习—Hadoop1.X和2.X安装
练习题目 Hadoop1.X安装 2.1 准备工作 2.1.1 硬软件环境 2.1.2 集群网络环境 2.1.3 安装使用工具 2.2 环境搭建 2.2.1 安 ...
- 3D拓扑自动布局之Web Workers篇
2D拓扑的应用在电信网管和电力SCADA领域早已习以为常了,随着OpenGL特别是WebGL技术的普及,3D方式的数据可视化也慢慢从佛殿神堂步入了寻常百姓家,似乎和最近高档会所被整改为普通茶馆是一样的 ...
- Week1项目报告
1. 预测时间 Personal Software Process Stages Time(h) 计划 · 估计这个任务需要多少时间 16.5 开发 · 需求分析 (包括学习新技术) 4 · 生成设计 ...
- 【Win10】使用 ValidationAttribute 实现数据验证
WPF 中数据验证的方式多种多样,这里就不说了.但是,在 Windows Phone 8.1 Runtime 中,要实现数据验证,只能靠最基础的手动编写条件判断代码来实现.如果用过 ASP.NET M ...