SensorActivity.java
Dosyayı İndir
package com.godoro.androidopengl;
import android.app.*;
import android.hardware.*;
import android.opengl.*;
import android.os.*;
import android.util.*;
import android.view.*;
import android.widget.*;
public class SensorActivity extends Activity implements SensorEventListener {
private SensorRenderer gyroscopeRenderer=new SensorRenderer();
private SensorManager sensorManager;
private Sensor sensor;
// Phone *#0*#
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
sensor =sensorManager.getDefaultSensor(
Sensor.TYPE_ACCELEROMETER);
for(Sensor sensor : sensorManager.getSensorList(Sensor.TYPE_ALL)){
Log.e("[SensorActvity]",sensor.getName()+" "+sensor.getClass().getName());
}
GLSurfaceView view = new GLSurfaceView(this);
view.setRenderer(gyroscopeRenderer);
setContentView(view);
}
@Override
protected void onResume()
{
super.onResume();
if(sensor!=null){
sensorManager.registerListener(this, sensor,SensorManager.SENSOR_DELAY_NORMAL);
Toast.makeText(this,"Sensor registered",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this,"Sensor not accessed",Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onPause()
{
super.onPause();
if(sensor!=null){
sensorManager.unregisterListener(this);
Toast.makeText(this,"Sensor unregistered",Toast.LENGTH_SHORT).show();
}
}
@Override
public void onSensorChanged(SensorEvent event) {
float x=event.values[0];
float y=event.values[1];
float z=event.values[2];
gyroscopeRenderer.setPosition(x,y,z);
//Toast.makeText(this,"x:"+x+" y:"+y+" z:"+z,Toast.LENGTH_SHORT).show();
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
Dosyayı İndir