您的位置:首页 > 移动开发 > Android开发

android 获取手机中所有的传感器Sensor类使用方法

2012-09-03 16:21 706 查看
高仿QQ设置滑动按钮,漂亮简单
http://www.eoeandroid.com/thread-196576-1-1.html
原创:实战db4o数据库01
http://www.eoeandroid.com/thread-196073-1-1.html
Android应用调用浏览器和电话的URI
http://www.eoeandroid.com/thread-195752-1-1.html

代码很简单,自己看就能明白,只是为了练习一下Sensor类的使用方法。算是一个练习.
package mars.com;     import java.util.List;     import android.app.Activity;     import android.content.Context;     import android.hardware.Sensor;     import android.hardware.SensorManager;     import android.os.Bundle;     import android.view.View;     import android.view.View.OnClickListener;     import android.widget.Button;     import android.widget.TextView;     public class DemoSensorActivity extends Activity {     private Button button;     private TextView show;     private SensorManager sm;     private StringBuffer str;     private List<Sensor> allSensors;     private Sensor s;     @Override     public void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.main);       button = (Button) findViewById(R.id.button);       show = (TextView) findViewById(R.id.show);       button.setOnClickListener(new ButtonListener());       sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);       allSensors = sm.getSensorList(Sensor.TYPE_ALL);// 获得传感器列表     }     class ButtonListener implements OnClickListener {       public void onClick(View v) {        str = new StringBuffer();        str.append("该手机有" + allSensors.size() + "个传感器,分别是:\n");        for (int i = 0; i < allSensors.size(); i++) {         s = allSensors.get(i);         str.append("设备名称:" + s.getName() + "\n");         str.append("设备版本:" + s.getVersion() + "\n");         str.append("通用类型号:" + s.getType() + "\n");         str.append("设备商名称:" + s.getVendor() + "\n");         str.append("传感器功耗:" + s.getPower() + "\n");         str.append("传感器分辨率:" + s.getResolution() + "\n");         str.append("传感器最大量程:" + s.getMaximumRange() + "\n");         switch (s.getType()) {         case Sensor.TYPE_ACCELEROMETER:          str.append(i + "加速度传感器");          break;         case Sensor.TYPE_GYROSCOPE:          str.append(i + "陀螺仪传感器");          break;         case Sensor.TYPE_LIGHT:          str.append(i + "环境光线传感器");          break;         case Sensor.TYPE_MAGNETIC_FIELD:          str.append(i + "电磁场传感器");          break;         case Sensor.TYPE_ORIENTATION:          str.append(i + "方向传感器");          break;         case Sensor.TYPE_PRESSURE:          str.append(i + "压力传感器");          break;         case Sensor.TYPE_PROXIMITY:          str.append(i + "距离传感器");          break;         case Sensor.TYPE_TEMPERATURE:          str.append(i + "温度传感器");          break;         default:          str.append(i + "未知传感器");          break;         }        }        show.setText(str);       }     }     }
布局文件
<?xml version="1.0" encoding="utf-8"?>     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"         android:layout_width="fill_parent"         android:layout_height="fill_parent"         android:orientation="vertical" >         <Button             android:id="@+id/button"             android:layout_width="fill_parent"             android:layout_height="wrap_content"             android:text="获取传感器" />         <ScrollView             xmlns:android="http://schemas.android.com/apk/res/android"             android:layout_width="fill_parent"             android:layout_height="wrap_content"             android:orientation="vertical" >             <TextView                 android:id="@+id/show"                 android:layout_width="fill_parent"                 android:layout_height="wrap_content" />         </ScrollView>     </LinearLayout>


本文出自 “Android小子的” 博客,请务必保留此出处http://androidrigl.blog.51cto.com/7531835/1247557
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐