在上一篇中,讲到了怎么获取手机的传感器http://blog.csdn.net/nainai007/article/details/7615364,在这里是获取传感器的值。

要获取传感器的值,首先要为应用程序注册传感器时间,然后接受传感器传来的数据。

MainActivity的代码为:

[java]  view plain copy
  1. package com.nine.sensordemo;  
  2.   
  3. import android.app.Activity;  
  4. import android.hardware.Sensor;  
  5. import android.hardware.SensorEvent;  
  6. import android.hardware.SensorEventListener;  
  7. import android.hardware.SensorManager;  
  8. import android.os.Bundle;  
  9. import android.widget.TextView;  
  10.   
  11. public class MainActivity extends Activity {  
  12.       
  13.     private SensorManager sm;  
  14.     private Sensor ligthSensor;  
  15.     private StringBuffer sb;  
  16.     private TextView tvValue;  
  17.       
  18.     @Override  
  19.     public void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         setContentView(R.layout.main);  
  22.           
  23.         sb = new StringBuffer();  
  24.         tvValue = (TextView) findViewById(R.id.tvValue);  
  25.           
  26.         //获取SensorManager对象  
  27.         sm = (SensorManager) getSystemService(SENSOR_SERVICE);  
  28.         //获取Sensor对象  
  29.         ligthSensor = sm.getDefaultSensor(Sensor.TYPE_LIGHT);  
  30.           
  31.         sm.registerListener(new MySensorListener(), ligthSensor, SensorManager.SENSOR_DELAY_NORMAL);      
  32.     }  
  33.       
  34.     public class MySensorListener implements SensorEventListener {  
  35.   
  36.         public void onAccuracyChanged(Sensor sensor, int accuracy) {  
  37.               
  38.         }  
  39.   
  40.         public void onSensorChanged(SensorEvent event) {  
  41.             //获取精度  
  42.             float acc = event.accuracy;  
  43.             //获取光线强度  
  44.             float lux = event.values[0];  
  45.               
  46.             sb.append("acc ----> " + acc);  
  47.             sb.append("\n");  
  48.             sb.append("lux ----> " + lux);  
  49.             sb.append("\n");  
  50.               
  51.             tvValue.setText(sb.toString());  
  52.         }  
  53.           
  54.     }  
  55.       
  56. }  

这里我主要获取手机的光线传感器,由于外界光线的变化,从而触发传感器时间的发生,程序通过获取传感器的精度和光线强度的值,并显示出来

转自:

http://blog.csdn.net/nainai007/article/details/7616441

更多相关文章

  1. 如何在低版本的Android(安卓)SDK中生成缩略图——ThumbnailUtils
  2. android使用百度地图SDK获取定位信息示例
  3. Android开发:Wifi基础
  4. Android(安卓)获取传感器列表整理及简单实例
  5. 黑马程序员.Android攻城狮.JAVA基础.1.6.String类
  6. Android(安卓)App兼容android10.0系统需要修改那些东西,看这个就
  7. Android从ftp服务器获取文件
  8. Android(安卓)接入Facebook实现第三方登陆教程(精简版)
  9. http://www.cnblogs.com/

随机推荐

  1. 【Android】“存储”之普通文件存储(内部
  2. Android 判断应用 第一次启动
  3. android工程中不自动生成Android Depende
  4. android中Invalidate和postInvalidate的
  5. Android开发实践:用PopupWindow实现自定义
  6. Android:Eclipse如何设置格式化Java代码
  7. Android中View自定义XML属性详解以及R.at
  8. Android中的WebView控件用法
  9. 来电防火墙——学习记录
  10. android的UI操作单线程模型理解