Todos los dispositivos Android producidos en todo el mundo vienen con sensores integrados que miden el movimiento, la orientación y diversas condiciones ambientales. Estos sensores generalmente facilitan la arquitectura de Android al proporcionar los datos del sensor para varias aplicaciones. Por ejemplo, un sensor de temperatura proporciona la temperatura del dispositivo, cuya información podría utilizarse para cerrar algunos servicios no necesarios. Tal sensor es un tipo general, pero en términos generales, los sensores se dividen en tres tipos:
- Sensores de movimiento: Los sensores de movimiento miden la aceleración y las fuerzas de rotación a lo largo de los tres ejes xyz. Los sensores de movimiento incluyen acelerómetros, sensores de gravedad, giroscopios y sensores de vector rotacional.
- Sensores ambientales: los sensores ambientales miden una variedad de parámetros ambientales, como presión, temperatura ambiente (temperatura ambiente), iluminación (luz que cae sobre el dispositivo) y humedad. Incluyen barómetros, fotómetros y termómetros.
- Sensores de posición: los sensores de posición miden la posición física de un dispositivo en el espacio. Incluyen sensores de orientación y magnetómetros.
Sensores generalmente disponibles en un dispositivo Android
En general, cualquier dispositivo Android en o superior a la versión de Android 4.4 (Kitkat) tiene estos sensores presentes en ellos:
- Acelerómetro – Sensor de hardware – Sensor de movimiento
- Sensor de gravedad : basado en programa (software): datos sin procesar derivados de los sensores de movimiento para el cálculo de gravedad.
- Temperatura ambiente – Sensor de hardware – Sensor ambiental
- Giroscopio – Sensor de hardware – Sensor de movimiento
- Sensor de luz – Sensor de hardware – Sensor ambiental
- Sensor de orientación : basado en programa (software): datos sin procesar derivados de los sensores de posición y movimiento
- Sensor de proximidad – Sensor de hardware – Sensor de posición
Acercarse
Paso 1: Crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Kotlin como lenguaje de programación.
Paso 2: trabajar con el archivo activity_main.xml
Vaya al archivo activity_main.xml que representa la interfaz de usuario de la aplicación y cree un TextView dentro de un ScrollView que enumerará los sensores presentes en el dispositivo. actividad_principal.xml
XML
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <!--Text View that shall display the sensor information list--> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /> </ScrollView>
Paso 4: trabajar con el archivo MainActivity.kt
Vaya al archivo MainActivity.kt y consulte el siguiente código. MainActivity.kt
Kotlin
import android.content.Context import android.hardware.Sensor import android.hardware.SensorManager import android.os.Bundle import android.widget.TextView import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { // Information about Sensors present in the // device is supplied by Sensor Manager of the device private lateinit var sensorManager: SensorManager override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Initialize the variable sensorManager sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager // getSensorList(Sensor.TYPE_ALL) lists all the sensors present in the device val deviceSensors: List<Sensor> = sensorManager.getSensorList(Sensor.TYPE_ALL) // Text View that shall display this list val textView = findViewById<TextView>(R.id.tv) // Converting List to String and displaying // every sensor and its information on a new line for (sensors in deviceSensors) { textView.append(sensors.toString() + "\n\n") } } }
Salida: ejecutar en el emulador
Publicación traducida automáticamente
Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA