android_重力传感器(个人笔记)
2017-06-02 12:11
274 查看
在做设计中用到重力传感器,做个笔记。
package com.example.dahai.my1; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private SensorManager MyManage; //新建sensor的管理器 //新建三轴文本框 private TextView view_x; private TextView view_y; private TextView view_z; //新建三轴数据 private float x; private float y; private float z; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MyManage = (SensorManager)getSystemService(SENSOR_SERVICE); //获得系统传感器服务管理权 findviews(); } //绑定控件 private void findviews(){ view_x = (TextView)findViewById(R.id.textView2); view_y = (TextView)findViewById(R.id.textView3); view_z = (TextView)findViewById(R.id.textView4); } //初始化事件 @Override protected void onResume() { super.onResume(); //注册重力感应服务 boolean enable = MyManage.registerListener(MySensor_Gravity_listener, MyManage.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_UI); if (!enable) { MyManage.unregisterListener(MySensor_Gravity_listener); } } //activity暂停事件 @Override protected void onPause() { super.onPause(); MyManage.unregisterListener(MySensor_Gravity_listener); } //sensor监听事件 SensorEventListener MySensor_Gravity_listener = new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { if(event.sensor == null){ return; } //新建加速度计变化事件 if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){ //获取x,y,z三个方向的加速度值 x = event.values[SensorManager.DATA_X]; y = event.values[SensorManager.DATA_Y]; z = event.values[SensorManager.DATA_Z]; //显示三个轴的信息 view_x.setText(String.valueOf(x)); view_y.setText(String.valueOf(y)); view_z.setText(String.valueOf(z)); } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } }; @Override protected void onDestroy() { super.onDestroy(); //解注册 MyManage.unregisterListener(MySensor_Gravity_listener); }}
个人效果图
相关文章推荐
- Android菜单(个人笔记)
- 个人安卓学习笔记---Android模拟打电话程序实现
- Android 个人学习笔记 ①
- android个人笔记(五)——解析ini文件
- android个人笔记(四)——JNI、C++字符串转换
- Android 平台个人笔记
- Android 个人学习笔记之--- DOM解析XML文件
- Android 个人学习笔记之---SAX解析XML文件(有一个坑爹的问题)
- C\C++ 程序员从零开始学习Android - 个人学习笔记(一) - 计划和书籍
- C\C++ 程序员从零开始学习Android - 个人学习笔记(八) - java基础 - 继承、抽象类、接口、内部类(待续)
- C\C++ 程序员从零开始学习Android - 个人学习笔记(五) - java基础 - 类(待续)
- Android 个人学习笔记之--- Pull解析XML文件
- C\C++ 程序员从零开始学习Android - 个人学习笔记(八) - java基础 - 继承、抽象类、接口、内部类(待续)
- 个人安卓学习笔记---第一个Android应用程序
- C\C++ 程序员从零开始学习Android - 个人学习笔记(四) - java基础 - 数据类型、变量、字符串、数组
- C\C++ 程序员从零开始学习Android - 个人学习笔记(十) - java基础 - 多线程(待续)
- android个人笔记(二)——NDK开发常用工具
- 关于android传感器(个人笔记)