首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

游戏开发4_02感应器 二

2012-09-13 
游戏开发4_02感应器 2package wyf.wpf//声明包语句import android.app.Activity//引入相关类import andr

游戏开发4_02感应器 2
package wyf.wpf;//声明包语句
import android.app.Activity;//引入相关类
import android.hardware.Sensor;//引入相关类
import android.hardware.SensorEvent;//引入相关类
import android.hardware.SensorEventListener;//引入相关类
import android.hardware.SensorManager;//引入相关类
import android.os.Bundle;//引入相关类
import android.widget.TextView;//引入相关类
//继承自Activity的子类
public class Sample_4_7 extends Activity {
SensorManager mySensorManager;//SensorManager对象引用
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对象
    }
@Override
protected void onResume() {//重写onResume方法
mySensorManager.registerListener(//调用方法为SensorManager注册监听器
mySensorEventListener,//实现了SensorEventListener接口的监听器对象
mySensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),//Sensor对象
SensorManager.SENSOR_DELAY_UI//系统传递SensorEvent事件的频度
);
super.onResume();
}
@Override
protected void onPause() {//重写onPause方法
mySensorManager.unregisterListener(mySensorEventListener);//取消注册监听器
super.onPause();
}
//开发实现了SensorEventListener接口的传感器监听器
private SensorEventListener mySensorEventListener = new SensorEventListener(){
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {//重写onAccuracyChanged方法,在此为空实现
}
@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){//判断是否为加速度传感器变化产生的数据
float [] values = event.values;//获得捕获的数据
tvX.setText("x轴方向上的加速度为:"+values[0]);//将提取的x方向上加速度显示到TextView
tvY.setText("y轴方向上的加速度为:"+values[1]);//将提取的y方向上加速度显示到TextView
tvZ.setText("z轴方向上的加速度为:"+values[2]);//将提取的z方向上加速度显示到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>

热点排行