Android Sensor的使用
2014-10-20 20:31
113 查看
(注意模式器没有sensor,所以在真机上运行)1,获得实例;SensorManager,2,调用SensorManager类的方法,可以得到Sensor3,调用Sensor 的方法,得到Sensor相关的信息下面例子:
</pre><pre name="code" class="html"><pre name="code" class="html">public class MainActivity extends Activity { private SensorManager sm; private Button button1,button2,button3; private TextView tx_view,tx_view1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tx_view=(TextView) findViewById(R.id.tx_view); tx_view1=(TextView) findViewById(R.id.tx_view1); button1=(Button) findViewById(R.id.button1); //1,获得实例;SensorManager, sm=(SensorManager) getSystemService(SENSOR_SERVICE); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //2,调用SensorManager类的方法,可以得到Sensor,这个类型你可以自己指定这里写all,(你也可以获得指定类型传感器:Sensor sensor=sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); List<Sensor> sensors=sm.getSensorList(Sensor.TYPE_ALL); tx_view.setText("总共有:"+sensors.size()+"个传感器。\n"+sensor_name1+sensor_name2+sensor_name3+sensor_name4+sensor_name5); //我手机有1,2,3,5,8这几种类型 for(Sensor s:sensors) { System.out.println(s.getType()); } Toast.makeText(MainActivity.this,"总共有:"+sensors.size()+"个传感器。", 0).show(); } }); //你也可以微传感器设置监听事件,这一以加速度为例,单击 :按钮2,可以实现加速度。 //(按钮2你也可以不写,不会影响程序运行) //传感器监听器 final Sensor sensor=sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); final SensorEventListener sensorListener=new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { String x="加速度x:"+event.values[0]+"\n"; String y="加速度y:"+event.values[1]+"\n"; String z="加速度z:"+event.values[2]+"\n"; tx_view1.setText(x+y+z); } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO Auto-generated method stub } }; button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //注册传感器监听 sm.registerListener(sensorListener, sensor,SensorManager.SENSOR_DELAY_NORMAL); } }); //取消监听 button3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //注册传感器监听 sm.unregisterListener(sensorListener, sensor); } }); } }
布局文件:
<Buttonandroid:id="@+id/button1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="查看手机传感器"/><Buttonandroid:id="@+id/button2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="传感器监听"/><Buttonandroid:id="@+id/button3"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="取消传感器监听"/><TextViewandroid:id="@+id/tx_view"android:layout_width="match_parent"android:layout_height="wrap_content"android:lines="10"/><TextViewandroid:id="@+id/tx_view1"android:layout_width="match_parent"android:layout_height="wrap_content"android:lines="10"/>
相关文章推荐
- android 获取手机中所有的传感器Sensor类使用方法
- android 获取手机中所有的传感器Sensor类使用方法
- Android感应器Sensor的使用
- Android源码编译之后G-Sensor不能使用问题的解决
- Android使用Sensor感应器获取用户移动方向(指南针原理)
- Android使用Sensor感应器实现线程中刷新UI创建android测力计的功能
- Android Sensor感应器简单使用(1)
- 关于sensor在android系统原生应用中的使用(从应用层面验证sensor移植)
- Android sensor架构(一)应用如何使用sensor(and5.1)
- Android sensor架构(一)应用如何使用sensor(and5.1)
- Android之Sensor 使用方法
- Android Sensor详解(9)Sensor ADSP Sensor1 api使用
- android 获取手机中所有的传感器Sensor类使用方法
- android中如何使用方向传感器Sensor
- Android sensor架构(一)应用如何使用sensor(and5.1)
- Android JNI 使用的数据结构JNINativeMethod详解
- android开发环境建立以及开发工具的使用--怎样使用eclipse来开发android源码
- Android中使用硬盘模拟SD卡
- (简讯)NOKIA否认将推出使用谷歌Android操作系统手机
- Android Intent 使用整理