《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 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...
随机推荐
- 【解析 . PPT版】干货:阿里全息大数据构建与应用(包括:互联网金融、互联网+、精准营销...)
作者:毛波,阿里巴巴资深数据专家,阿里数据管理平台(DMP)产品负责人. 摘要: 回顾传统数据仓库.商业智能到大型分布式数据平台的进化历程,深入阐述阿里的数据发展历史和数据观,以阿里DMP平台为例深入 ...
- table相关的API
void lua_getglobal (lua_State *L, const char *name);获取lua全局变量,将lua的全局变量global name压栈.堆栈+1 void lua_s ...
- 【WPF】控件使用-宽度自动适应窗口大小
<Grid MinWidth="1260" HorizontalAlignment="Stretch" />
- Uvaoj 11248 Frequency Hopping(Dinic求最小割)
题意:1到n节点(节点之间有一定的容量),需要流过C的流量,问是否可以?如果可以输出possible, 否则如果可以扩大任意一条边的容量 可以达到目的,那么输出possible option:接着输出 ...
- 斜堆(三)之 Java的实现
概要 前面分别通过C和C++实现了斜堆,本章给出斜堆的Java版本.还是那句老话,三种实现的原理一样,择其一了解即可. 目录1. 斜堆的介绍2. 斜堆的基本操作3. 斜堆的Java实现(完整源码)4. ...
- redis主从遇到的两个坑
最近在使用redis主从的时候做了下面两件事情: 1 希望redis主从从操作上分析,所有写操作都在master上写,所有读操作都在从上读. 2 由于redis的从是放在本地的,所以有的key的读写操 ...
- 操作ACCESS数据库注意事项
以下问题都是容易忽略,但却不容易找出问题的所在,让我头疼不少,故在此列出,即是一个总结,同样也给其他人参与! 1.使用参数形式执行SQL命令时,参数数组需与在SQL语句中参数名出现的位置及名称必须完全 ...
- mysql depended_query 优化案例一则
月度利息统计sql优化 原因:写的sql语句复杂,理解起来有难度,另一方面,查询性能比较低 原来的语句如下: SELECT tp.year, tp.month, tp.bid_id, b.`title ...
- SpringMVC核心——映射问题
一.SpringMVC 使用 RequestMapping 来解决映射问题. 二.在学习 RequestMapping 之前,首先来看一张图. 这张图表示的是发送一次 http 请求时,所包含的请求 ...
- 《构建之法》第8、9、10章的读后感和第一个sprint总结
第八章——主要介绍软件需求. 主要步骤:1.获取和引导需求.2.分析和定义需求.3.验证需求.4.在软件产品的生命周期中管理需求. 对软件需求的划分:1.对产品功能性的需求.2.对产品开发过程的需求. ...