LECTURA DE DATOS DE SENSORES - MEDIANTE EL USO DE ANDROID EVENTOS SENSOR FRAMEWORK

Ahora veremos cómo se leen los datos del sensor usando el (SensorEventListener) El SensorEventListener tiene dos llamadas:

1.onSensorChanged ()

2.onAccuracyChanged ()

Cuando el sensor tiene nuevos datos para informar, llama al onSensorChanged () con un objeto (SensorEvent).

Actividad:
En esta actividad demostraremos la lectura del sensor de luz, pero ya que todos los sensores utilizan el mismo marco, es muy fácil adaptar este ejemplo a cualquiera de los otros Sensores.

Empecemos:
Cree un nuevo proyecto en Android Studio y asigne le el nombre de ReadingSensorData.En primer lugar Vamos a agregar un TextView al diseño de la actividad para mostrar los datos del sensor,(SensorEventListener) al código java. Utilizaremos el método (onResume () y onPause () para iniciar y detener nuestro Listener de eventos, nos dirigimos al archivo activity_main.xml y haga lo siguientes:

1.Modifique el <TextView> existente de la siguiente manera:

<TextView

android:id="@+id/textView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

android:text="0"/>

2.Ahora nos dirigimos abrie el MainActivity.java agregaremos las siguientes líneas de código al método onCreate() que ya existe:

privateSensorManagermSensorManager;

privateSensormSensor;

privateTextViewmTextView;

3.Agregue la clase SensorListener a la clase MainActivity de la siguiente manera:

privateSensorEventListenermSensorListener=new

SensorEventListener() {

@Override

public voidonSensorChanged(SensorEvent event) {

mTextView.setText(String.valueOf(event.values[0]));

}

@Override

public voidonAccuracyChanged(Sensor sensor,int

accuracy) {//Nothing to do} };

4.Registramos y anularemos el registro de los eventos del sensor en onResume () y onPause () dela siguiente manera:

@Override

protected voidonResume() {

super.onResume();

mSensorManager.registerListener(mSensorListener, mSensor, SensorManager.SENSOR_DELAY_NORMAL);}

@Override

protected voidonPause() {

super.onPause();

mSensorManager.unregisterListener(mSensorListener);}

5.Ahora agregamos el siguiente código al onCreate ():

mTextView = (TextView)findViewById(R.id.textView);

mSensorManager = (SensorManager)

getSystemService(Context.SENSOR_SERVICE);

mSensor = mSensorManager.getDefaultSensor(

Sensor.TYPE_LIGHT);

6.Ahora comprobaremos la aplicación en nuestro dispositivo o emulador para ver los datos sensor de luz:

Como se hace: El uso de Android Sensor Framework comienza con la obtención del sensor, que hacemos en OnCreate () es aquí donde llamamos a getDefaultSensor (), solicitando TYPE_LIGHT, y por consiguiente registramos el listener en onResume () y d esta manera se anula el registro nuevamente en onPause () para reducir el consumo de la batería. En nuestro objeto mSensorListener al momento de llamar a registerListener ()sólo estamos buscando los datos del sensor, que se envía en el onSensorChanged ()al llamarlo de vuelta. Cuando el sensor cambia, actualizamos el TextView con los datos del sensor.

Ahora que has trabajado con un sensor, sabes cómo trabajar con todos los sensores, ya que todos utilizan el mismo marco. Por supuesto, lo que hagas con los datos variará mucho, dependiendo del tipo de datos que está leyendo. Los sensores de Ambiente, como se muestra aquí, se devuelven pero los sensores de posición y movimiento también pueden devolver elementos adicionales indicados.

results matching ""

    No results matching ""