翻看手机中的应用,就能发现大多数应用都已经使用了传感器。让微信彻底火起来的“附近的人”和“摇一摇”、碰一碰交换信息的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传感器高级编程》译者序的更多相关文章

  1. 《Python算法教程》译者序

    在计算机的世界中,算法本质上是我们对某一个问题或者某一类问题的解决方案.也就是说,如果我们想用计算机来解决问题的话,就必须将问题的解决思路准确而完整地描述出来,同时计算机也要能理解这个描述.这需要我们 ...

  2. python算法介绍:希尔排序

    python作为一种新的语言,在很多功能自然要比Java要好一些,也容易让人接受,而且不管您是成年人还是少儿都可以学习这个语言,今天就为大家来分享一个python算法教程之希尔排序,现在我们就来看看吧 ...

  3. Python快速教程 尾声(转)

    原文地址: http://www.cnblogs.com/vamei/p/3603046.html 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留 ...

  4. python快速教程-vamei

    2016年10月26日 12:00:53 今天开始着手python的学习,希望能高效快速的学完! Python基础(上)... 7 实验简介... 7 一.实验说明... 8 1. 环境登录... 8 ...

  5. Python 简明教程 ---10,Python 列表

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 程序 = 算法 + 数据结构 -- Nicklaus Wirth 目录 从这句话程序 = 算法 + ...

  6. Python快速教程 尾声

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 写了将近两年的Python快速教程,终于大概成形.这一系列文章,包括Python基 ...

  7. 改写《python基础教程》中的一个例子

    一.前言 初学python,看<python基础教程>,第20章实现了将文本转化成html的功能.由于本人之前有DIY一个markdown转html的算法,所以对这个例子有兴趣.可仔细一看 ...

  8. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...

  9. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  10. 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇

    始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...

随机推荐

  1. Three.js源码阅读笔记-5

    Core::Ray 该类用来表示空间中的“射线”,主要用来进行碰撞检测. THREE.Ray = function ( origin, direction ) { this.origin = ( or ...

  2. Django Push HTTP Response to users

    Django Push HTTP Response to users I currently have a very simple web application written in Django, ...

  3. 原生js提交表单

    /********************* 表单提交 ***********************/ function ajax(options) { options = options || { ...

  4. MFC ADO连接Oracle12c数据库 服务端配置

    要想客户端访问服务器端的oracle数据库的话,还需要服务端设置下监听程序及本地网络服务名配置. 发现百度文库上面有这方面的文档,我就不重复写了.请参照一下网址: http://wenku.baidu ...

  5. Java获取路径方法&相对路径读取xml文件方法

    (1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI ...

  6. 用 .NET Reflector 8 查看 System.Windows.Controls 命名空间下的类

    为了学习自定义控件,就想看看WPF基本元素的代码.使用到工具.NET Reflector. System.Windows.Controls 命名空间在PresentationFramework.dll ...

  7. 将PDM文件导出成CHM帮助文件

    实际开发中常常将维护数据库字段用 powerdesigner 维护起来,而实际要查阅 数据库用了什么字段是,常常又不方便去打开PDM 文件去找. 下面分享一个小工具,效果看下图: 有这个小工具, PD ...

  8. Android自定义之TextView跑马灯的监听

    TextView都有跑马灯的效果,如果说让你去监听跑马灯效果的执行,我觉得这个需求有点二了,但是也要实现. 思路: 1.自定义View  继承TextView   这种方法过于麻烦,只是监听一个跑马灯 ...

  9. 高性能JavaScript-JS脚本加载与执行对性能的影响

    在web产品优化准则中,很重要的一条是针对js脚本的加载和执行方式的优化.本篇文章简单描述一下其中的优化准则. 1. 脚本加载优化 1.1 脚本位置对性能的影响 优化页面加载性能的原则之一是将scri ...

  10. Odyssey.js – 创建互动的,有吸引力的故事

    Odyssey.js 是一个开源工具,它可以让你的地图,叙述和其他多媒体结合成一个美丽的故事.创建新的故事很简单,要求无非是一个现代的 Web 浏览器和一个好的想法.你可以使用现成的模板来控制和设计精 ...