M0286_Libro Curso
3: Próximas generaciones
3.2. Sensores Todos los dispositivos móviles actuales disponen de diferentes sensores que no dan una información determinada. Android permite acceder a esos sensores internos del dispositivo, utilizando las clases del paquete android.hardware , Sensor , SensorEvent y SensorManager , y de la interfaz SensorEventListener . La clase Sensor acepta distintos tipos de sensores, y estos varían en función del aparato utilizado, pero los que implementa la clase son los siguientes: ■ TYPE_GRAVITY: mide la gravedad. ■ TYPE_ROTATION_VECTOR: sensor de rotación del dispositivo. ■ TYPE_LIGHT: indica la luminosidad de alrededor. ■ TYPE_PROXIMITY: mide la distancia entre el sensor y un objeto. ■ TYPE_MAGNETIC_FIELD: devuelve la atracción magnética. ■ TYPE_ORIENTATION: mide el balanceo. Se recomienda usar sensorManager. getOrientation() . ■ TYPE_ACCELEROMETER: mide la aceleración en los ejes
■ TYPE_PRESSURE: mide la presión atmosférica. ■ TYPE_TEMPERATURE: mide la temperatura.
Vamos a visualizar un pequeño ejemplo donde se implementarán las clases anteriormente nombradas y si disponemos de un dispositivo Android, podremos observar los sensores disponibles en nuestro dispositivo. Para ello vamos a crear un nuevo proyecto Android e insertamos lo siguiente: ■ Project Name (nombre del proyecto): SeasSensorTest
■ Build Target (objetivo de compilación): Android 2.1 (Google APIs) ■ Application name (nombre de la aplicación): Seas, Test Sensores ■ Package name (nombre del paquete): com.seas.ejemplo.SensorTest ■ Create Activity (crear actividad): SensorTest ■ Min SDK Version: 7
Tenemos que tener en cuenta que la clase SensorManager nos va a devolver actualizaciones con muchísima frecuencia, incluso llegando a cientos por segundo. Vamos a insertar un TextView que lo llamaremos “ output” en el res/layout/ main.xml que será donde sacaremos los resultados de los sensores.
185
Made with FlippingBook - Online catalogs