Android(安卓)获取imu数据
https://blog.csdn.net/roadoneplus/article/details/52669095
https://blog.csdn.net/roadoneplus/article/details/52669095
MainActivity.java
package com.example.hhh;
//import android.app.Activity;
//import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.WindowManager;
import java.security.PublicKey;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.R.integer;
import android.R.string;
import android.accounts.Account;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
//声明变量
//private Handler mHandler;
//private Button back ;
Button back ;
private SensorManager sensorManager;
private TextView accxText;
private TextView accyText;
private TextView acczText;
private TextView gyroxText;
private TextView gyroyText;
private TextView gyrozText;
private TextView magxText;
private TextView magyText;
private TextView magzText;
/*@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏
setContentView(R.layout.main_activity);
back=(Button) findViewById(R.id.back);
// 对登录按钮设置监听,方法由下面的Onclick实现
back.setOnClickListener(this);
}*/
@Override
//实现登录按钮的跳转
public void onClick(View v) {
// 根据id判断单击的是哪个控件,固定写法
switch (v.getId()) {
case R.id.back:
back();
break;
default:
break;
}
}
// 登录方法
public void back() {
//实现界面的跳转
Intent intent = new Intent(MainActivity.this,LoginActivity.class);
startActivity(intent);
//关闭当前界面
// finish();
//return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
//}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
back=(Button) findViewById(R.id.back);
// 对登录按钮设置监听,方法由下面的Onclick实现
back.setOnClickListener(this);
accxText = (TextView) findViewById(R.id.accx);
accyText = (TextView) findViewById(R.id.accy);
acczText = (TextView) findViewById(R.id.accz);
gyroxText = (TextView) findViewById(R.id.gyrox);
gyroyText = (TextView) findViewById(R.id.gyroy);
gyrozText = (TextView) findViewById(R.id.gyroz);
magxText = (TextView) findViewById(R.id.magx);
magyText = (TextView) findViewById(R.id.magy);
magzText = (TextView) findViewById(R.id.magz);
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor sensora = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(listenera, sensora, SensorManager.SENSOR_DELAY_GAME);
Sensor sensorg = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
sensorManager.registerListener(listenerg, sensorg, SensorManager.SENSOR_DELAY_GAME);
Sensor sensorm = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
sensorManager.registerListener(listenerm, sensorm, SensorManager.SENSOR_DELAY_GAME);
}
private SensorEventListener listenera = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
float accx = event.values[0];
float accy = event.values[1];
float accz = event.values[2];
accxText.setText("accx:" + accx);
accyText.setText("accy:" + accy);
acczText.setText("accz:" + accz);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
private SensorEventListener listenerg = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
float gyrox = event.values[0];
float gyroy = event.values[1];
float gyroz = event.values[2];
gyroxText.setText("gyrox:" + gyrox);
gyroyText.setText("gyroy:" + gyroy);
gyrozText.setText("gyroz:" + gyroz);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
private SensorEventListener listenerm = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
float magx = event.values[0];
float magy = event.values[1];
float magz = event.values[2];
magxText.setText("magx:" + magx);
magyText.setText("magy:" + magy);
magzText.setText("magz:" + magz);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
@Override
protected void onDestroy() {
super.onDestroy();
if (sensorManager != null) {
sensorManager.unregisterListener(listenera);
sensorManager.unregisterListener(listenerg);
sensorManager.unregisterListener(listenerm);
}
}
}
xml 代码
<?xml version="1.0" encoding="utf-8"?>
android:layout_height="match_parent"
android:columnCount="1" >
android:layout_gravity=""
android:text="" />
android:layout_gravity=""
android:text="" />
android:layout_gravity=""
android:text="" />
android:layout_gravity=""
android:text="" />
android:layout_gravity=""
android:text="" />
android:layout_gravity=""
android:text="" />
android:layout_gravity=""
android:text="" />
android:layout_gravity=""
android:text="magy" />
android:layout_gravity="left|top"
android:layout_row="11"
android:text="magz" />
更多相关文章
- android 多项对话框
- Android(安卓)- 震动反馈和提示音实现
- Android中重写onBackPressed()方法实现双击退出
- android sqlite 增删查 demo
- Android(安卓)返回键实现home键的功能
- android计算器简单版【安卓进化一】
- Android(安卓)跳转应用市场的应用详情页
- android 图片之多点触控放大缩小
- 浅谈Java中Collections.sort对List排序的两种方法