WEB开发网
开发学院手机开发Android 开发 深入探讨 Android 传感器 阅读

深入探讨 Android 传感器

 2010-07-21 01:10:00 来源:WEB开发网   
核心提示:方法完成,本文中的 代码示例 演示了如何注册和注销 SensorListener,深入探讨 Android 传感器(3),记住,并非所有支持 Android 的设备都支持 SDK 中定义的所有传感器,(关于使用 Eclipse 开发 Android 应用程序的信息,请参见 参考资料,如果某个传感器无法在特定的设备上使用
方法完成。本文中的 代码示例 演示了如何注册和注销 SensorListener。

记住,并非所有支持 Android 的设备都支持 SDK 中定义的所有传感器。如果某个传感器无法在特定的设备上使用,您的应用程序就会适当地降级。

传感器示例

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

使用 Eclipse 环境和 Android Developer Tools 插件创建的应用程序。(关于使用 Eclipse 开发 Android 应用程序的信息,请参见 参考资料。)清单 1 展示了该应用程序的代码。

清单 1. IBMEyes.java

view plaincopy to clipboardprint?package com.msi.ibm.eyes; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.TextView; import android.hardware.SensorManager; import android.hardware.SensorListener; public class IBMEyes extends Activity implements SensorListener { final String tag = "IBMEyes"; SensorManager sm = null; TextView xViewA = null; TextView yViewA = null; TextView zViewA = null; TextView xViewO = null; TextView yViewO = null; TextView zViewO = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // get reference to SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE); setContentView(R.layout.main); xViewA = (TextView) findViewById(R.id.xbox); yViewA = (TextView) findViewById(R.id.ybox); zViewA = (TextView) findViewById(R.id.zbox); xViewO = (TextView) findViewById(R.id.xboxo); yViewO = (TextView) findViewById(R.id.yboxo); zViewO = (TextView) findViewById(R.id.zboxo); } public void onSensorChanged(int sensor, float[] values) { synchronized (this) { Log.d(tag, "onSensorChanged: " + sensor + ", x: " + values[0] + ", y: " + values[1] + ", z: " + values[2]); if (sensor

上一页  1 2 3 4 5 6 7 8  下一页

Tags:深入 探讨 Android

编辑录入:coldstar [复制链接] [打 印]
赞助商链接