当前位置: 网学 > 编程文档 > Android > 正文

深入探讨 Android 传感器:随处监控您的环境

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/19
下载{$ArticleTitle}原创论文样式

 

 简介

 

  对于 Java™ 开发人员来说,Android 平台是通过运用 硬件传感器建立 创新运用 程序的理想平台。咱们 将学习一些可用于 Android 运用 程序的接口连接选项,包括运用 传感器子系统和录制音频片段。

运用 配备 Android 的装备的硬件功能可以构建哪些运用 程序呢?任何须要 电子监视和监听的运用 程序都可以构建。婴儿监视器、安全系统,甚至地震仪都可以。理论上讲,您无法 同时出现在两个地点 ,但 Android 可以运用 一些可行的要领 实现这一点。纵观本文始末,您必须记得 ,运用 的 Android 装备不仅仅局限于 “手机”,还可以是部署在固定位置、具有无线网络连接的装备,比如 EDGE 或 WiFi。

Android 传感器功能

运用 Android 平台有一个很新颖的地点 ,那就是您可以在装备内部访问一些 “好工具”。过去,访问装备底层硬件的能力一度让移动开发人员感到特别棘手。尽管 Android Java 环境的角色仍然是您和装备的桥梁,但 Android 开发团队让许多硬件功能浮出了水面。该平台是一个开源平台,因此您可以自由地编写代码实现您的任务。

假如 尚未安装 Android,您可以 下载 Android SDK。您还可以 阅读 android.hardware 包的内容并参考本文的示例。android.media 包 包含了一些提供有用和新颖功能的类。

Android SDK 中包含的一些面向硬件的功能描述如下。

 

表 1. Android SDK 中提供的面向硬件的特性 

特性 描述android.hardware.Camera准许 运用 程序与相机交互的类,可以截取照片、获取预览屏幕的图像,修改用来治理相机操作的参数。android.hardware.SensorManager准许 访问 Android 平台传感器的类。并非所有配备 Android 的装备都支撑 SensorManager 中的所有传感器,虽然这种可能性让人特别兴奋。(可用传感器的简介见下文)android.hardware.SensorListener在传感器值实时修改时,期盼 接收更新的类要实现的接口。运用 程序实现该接口来监视硬件中一个或多个可用传感器。例如,本文中的 代码 包含实现该接口的类,实现后可以监视装备的方向和内置的加快 表。android.media.MediaRecorder用于录制媒体样例的类,对于录制特定位置(比如婴儿保育)的音频活动特别有用。还可以剖析 音频片段以便在访问控件或安全运用 程序时执行 身份鉴定。例如,它可以帮助您通过声音打开门,以节省时间,不须要 从房产经纪人处获取钥匙。android.FaceDetector准许 对人脸(以位图形式包含)执行 基本识别的类。不可能有两张完全一样的脸。可以运用 该类作为装备锁定要领 ,无需记密码 — 这是手机的生物特性识别功能。android.os.*包含多个 有用类的包,可以与操作环境交互,包括电源维护 、文件查看器、处理器和消息类。和许多可移动装备一样,支撑 Android 的电话可能会消耗大量电能。让装备在正确的时间 “醒来” 以监视感兴趣的事件是在设计时须要 最先 重视 的方面。java.util.Date

java.util.Timer

java.util.TimerTask当测量实际的事件时,数据和时间往往很首要 。例如,java.util.Date 类准许 您在遇到特定的事件或状况时获取时间戳。您可以运用 java.util.Timer 和 java.util.TimerTask 分别执行周期性任务或时间点任务。

 

android.hardware.SensorManager 包含多个 常量,这示意 Android 传感器系统的不同方面,包括: 

传感器类型方向、加快 表、光线、磁场、临近性、温度等。采样率最快、游戏、普通、用户界面。当运用 程序请求特定的采样率时,其实只是对传感器子系统的一个提示,或者一个建议。不保证特定的采样率可用。精确 性高、低、中、不可靠。 

SensorListener 接口是传感器运用 程序的中心。它包括两个必需要领 :

onSensorChanged(int sensor,float values) 要领 在传感器值修改时调用。该要领 只对受此运用 程序监视的传感器调用(更多内容见下文)。该要领 的参数包括:一个整数,指示修改的传感器;一个浮点值数组,示意 传感器数据本身。有些传感器只提供一个数据值,另一些则提供三个浮点值。方向和加快 表传感器都提供三个数据值。

当传感器的精确 性修改时,将调用 onAccuracyChanged(int sensor,int accuracy) 要领 。参数包括两个整数:一个示意 传感器,另一个示意 该传感器新的精确 值。

要与传感器交互,运用 程序必须注册以侦听与一个或多个传感器相关 的活动。注册运用 SensorManager 类的 registerListener 要领 完成。本文中的 代码示例 演示了如何 注册和注销 SensorListener。

记得 ,并非所有支撑 Android 的装备都支撑 SDK 中定义的所有传感器。假如 某个传感器无法 在特定的装备上运用 ,您的运用 程序就会适当地降级。

传感器示例

样例运用 程序仅监控对方向和加快 表传感器的修改。当收到修改时,传感器值在 TextView 小部件的屏幕上显示。图 1 展示了该运用 程序的运行情况。

 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号