Para facilitarle la tarea a un compañero (r4sh44t) he recopilado unos retazos de codigo de como usar el sensor de orientación (acelerometro) en Android, así que por si a alguien le es útil lo reproduciré aquí.
Variables globales que nos serán útiles:
//Justo despues de la declaracion del activity (public class MICLASE extends Activity{ ) podemos declarar estas variables globales
//Just after the declaration of the activity (public class MYCLASS extends Activity{ ) we can declare these global variables
private SensorManager myManager;
private Listsensors;
private Sensor oriSensor;
private float oldA;
private float oldP;
private float oldR;
Capturando el sensor:
//Capturar sensor de orientacion (en el onCreate!)
//Capture orientation sensor (in the onCreate!)
myManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
sensors = myManager.getSensorList(Sensor.TYPE_ORIENTATION);
if(sensors.size() > 0)
{
oriSensor = sensors.get(0);
Toast.makeText(getApplicationContext(), "Sensor OK",
2).show();
}
else Toast.makeText(getApplicationContext(), "No Sensor", 2).show();
myManager.registerListener(mySensorListener, oriSensor,
SensorManager.SENSOR_DELAY_GAME);
Leyendo del sensor:
//Leer del sensor
//Reading from the sensor
private final SensorEventListener mySensorListener = new SensorEventListener()
{
public void onSensorChanged(SensorEvent event)
{//Aqui la funcion que usara los datos del sensor
//Here the function that will use the sensor data
yourFunctionThatUsesTheData(event.values[0],
event.values[1],
event.values[2]);;
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
};
Usando los datos:
//Ejemplo de una funcion que use los datos, solo teniendo en cuenta el cambio desde la ultima vez que se leyó
//Example of a function that uses the data only using the difference of movement from the last read
private void yourFunctionThatUsesTheData (float a, float p, float r){
float thisA = a - oldA * 10;
float thisP = p - oldP * 10;
float thisR = r - oldR * 10;
oldA = a;
oldP = p;
oldR = r;//Hacer cosas con estas variables
//Do stuff with these variables
}
Y para entender que son las variables a p y r os dejo este gráfico:


Lee AwesomeBytes en español!
#1 by Eleazan on 09:23 - 09:23
Quote
Sólo me hace falta un movil con android >.<
#2 by r0s on 09:24 - 09:24
Quote
Detalles… te diria que probaras en el emulador pero no se como moveras “el movil” del emulador xD (igual es posible eh, ni idea)
#3 by Lev7 on 10:17 - 10:17
Quote
Se puede, por lo visto si se puede, jeje:
http://code.google.com/p/openintents/wiki/SensorSimulator
#4 by r0s on 15:39 - 15:39
Quote
Gracias Lev7, como desarrollo en el propio móvil, no me había parado a buscar, pero me lo apunto! xD
#5 by gatuno on 19:50 - 19:50
Quote
a q te refieres a capturar el sensor en el onCreate?