Android应用开发 传感器和语音识别

  次阅读 作者:智能小宝 来源:互联网 2015-09-29 09:58 我要评论(0)

Android特色开发

Android 是一个面向应用程序开发的丰富平台,它拥有许多具有吸引力的用户界面元素、数据管理和网络应用等优秀的功能。Android 还提供了很多颇具特色的接口。本章我们将分别介绍这些吸引开发者眼球的特色开发,主要包括:传感器系统(Sensor)、语音识别技术 (RecognizerIntent)、Google Map和用来开发桌面的插件(Widget)。通过本章的学习,读者将对Android有一个更深入的了解,可以开发出一些有特色、有创意的应用程序。

传感器

据调查,2008年全球传感器销售额为506亿美元,预计到2010年全球传感器销售额可达600亿美元以上。调查显示,东欧、亚太区和加拿大成为 传感器市场增长最快的地区,而美国、德国、日本依旧是传感器市场分布最大的地区。就世界范围而言,传感器市场增长最快的领域依旧是汽车,占第二位的是过程 控制,当然现在也被广泛应用于通信。那么,传感器的定义是什么呢?有哪些种类的传感器呢?Android中提供了哪些传感器呢?

1.传感器的定义

传感器是一种物理装置或生物器官,能够探测、感受外界的信号、物理条件(如光、热、湿度)或化学组成(如烟雾),并将探知的信息传递给其他装置或器 官。国家标准GB7665 87对传感器的定义是: 能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成 。 传感器是一种检测装置,能感受被测量的信息,并能将检测的感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存 储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。

2.传感器的种类

可以从不同的角度对传感器进行分类:转换原理(传感器工作的基本物理或化学效应);用途;输出信号类型以及制作材料和工艺等。

根据工作原理,传感器可分为物理传感器和化学传感器两大类。

物理传感器应用的是物理效应,诸如压电效应,磁致伸缩现象,离化、极化、热电、光电、磁电等效应。被测信号量的微小变化都将转换成电信号。

化学传感器包括那些以化学吸附、电化学反应等现象为因果关系的传感器,被测信号量的微小变化也将转换成电信号。

大多数传感器是以物理原理为基础运作的。化学传感器的技术问题较多,例如可靠性问题、规模生产的可能性、价格问题等,解决了这些问题,化学传感器的应用将会有巨大增长。而有些传感器既不能划分为物理类,也不能划分为化学类。

3.Android中传感器的种类

Google Android操作系统中内置了很多传感器,比如G1自带了一个非常实用的加速感应器(微型陀螺仪),有了它,G1手机就支持重力感应、方向判断等功能, 在部分游戏或软件中可以自动识别屏幕的横屏、竖屏方向来改变屏幕显示布局。下面是Android中支持的几种传感器:

Sensor.TYPE_ACCELEROMETER:加速度传感器。

Sensor.TYPE_GYROSCOPE:陀螺仪传感器。

Sensor.TYPE_LIGHT:亮度传感器。

Sensor.TYPE_MAGNETIC_FIELD:地磁传感器。

Sensor.TYPE_ORIENTATION:方向传感器。

Sensor.TYPE_PRESSURE:压力传感器。

Sensor.TYPE_PROXIMITY:近程传感器。

Sensor.TYPE_TEMPERATURE:温度传感器。

下面我们通过一个例子来分析Android中传感器的使用(具体实现参见本书所附代码:第9章\ Examples_09_01),这里分析的是方向传感器(TYPE_ORIENTATION)。

4.Android 中传感器的功能

要在Android中使用传感器,首先需要了解SensorManager和SensorEventListener。顾名思 义,SensorManager就是所有传感器的一个综合管理类,包括了传感器的种类、采样率、精准度等。我们可以通过getSystemService 方法来取得一个SensorManager对象。代码如下:

SensorManager mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);

取得SensorManager对象之后,可以通过getSensorList方法来获得我们需要的传感器类型,保存到一个传感器列表中。通过如下代码可以得到一个方向传感器:

List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ORIENTATION);

要与传感器交互,应用程序必须注册以侦听与一个或多个传感器相关的活动。Android中提供了registerListener来注册一个传感 器,并提供了unregisterListener来卸载一个传感器。registerListener方法包括3个参数:第1个参数,接收信号的 Listener实例;第2个参数,想接收的传感器类型的列表(即上一步创建的List<Sensor>对象);第3个参数,接收频度。调用 之后返回一个布尔值,true表示成功,false表示失败。当然,之后不再使用时,我们还需要卸载。代码如下:

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...