游戏开发4_02感应器

package wyf.wpf; //声明包语句
import org.openintents.sensorsimulator.hardware.SensorManagerSimulator;
import android.app.Activity;
import android.hardware.SensorListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;
//继承自Activity的子类
public class Sample_4_6 extends Activity {
// SensorManager mySensorManager; //SensorManager对象引用
SensorManagerSimulator mySensorManager; //使用SensorSimulator模拟时声明SensorSensorManager对象引用的方法
TextView tvX; //TextView对象引用
TextView tvY; //TextView对象引用
TextView tvZ; //TextView对象引用
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tvX = (TextView)findViewById(R.id.tvX); //获得屏幕上TextView控件的引用
        tvY = (TextView)findViewById(R.id.tvY); //获得屏幕上TextView控件的引用
        tvZ = (TextView)findViewById(R.id.tvZ); //获得屏幕上TextView控件的引用
//        mySensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); //获得SensorManager对象
      //使用SensorSimulator模拟时声明SensorSensorManager对象引用的方法
        mySensorManager = SensorManagerSimulator.getSystemService(this, SENSOR_SERVICE);
        mySensorManager.connectSimulator();
    }
@Override
protected void onResume() { //重写onResume方法
mySensorManager.registerListener( //注册监听器
mySensorListener, //监听器对象
SensorManager.SENSOR_ACCELEROMETER, //传感器类型
SensorManager.SENSOR_DELAY_UI //传感器事件传递的频度
);
super.onResume();
}
@Override
protected void onPause() { //重写onPause方法
mySensorManager.unregisterListener(mySensorListener); //取消注册监听器
super.onPause();
}
//开发实现了SensorEventListener接口的传感器监听器
private SensorListener mySensorListener = new SensorListener(){
@Override
public void onAccuracyChanged(int sensor, int accuracy) { //重写onAccuracyChanged方法
}
@Override
public void onSensorChanged(int sensor, float[] values) { //重写onSensorChanged方法
if(sensor == SensorManager.SENSOR_ACCELEROMETER){ //判断是否为加速度传感器变化产生的数据
tvX.setText("x轴方向上的加速度为:"+values[0]); //将提取的数据显示到TextView
tvY.setText("y轴方向上的加速度为:"+values[1]); //将提取的数据显示到TextView
tvZ.setText("z轴方向上的加速度为:"+values[2]); //将提取的数据显示到TextView
}
}
};
}


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent"
    > <!-- 声明一个LinearLayout线性布局 -->
<TextView android:id="@+id/tvX"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    /> <!-- 声明一个TextView控件,id为tvX -->
<TextView android:id="@+id/tvY"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    /> <!-- 声明一个TextView控件,id为tvY -->
<TextView android:id="@+id/tvZ"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    /> <!-- 声明一个TextView控件,id为tvZ -->
</LinearLayout>

你可能感兴趣的:(游戏,android,UI,OS,WPF)