
Implementación de librerías para funciones nativas del teléfono.
Práctica: App móvil con sensores, cámara y geolocalización
Objetivo
Desarrollar una aplicación móvil con Expo y React Native que utilice sensores del dispositivo, geolocalización, cámara y galería para realizar una captura automática de una fotografía cuando el teléfono esté inclinado dentro de un rango definido y orientado hacia el norte.
Descripción
La aplicación deberá monitorear continuamente:
- la inclinación del dispositivo
- la dirección hacia la que apunta
- la ubicación del usuario
Cuando se cumplan las condiciones definidas, la app debe tomar una fotografía automáticamente y mostrarla en pantalla junto con la información de ubicación.
Funcionalidades requeridas
La aplicación debe incluir:
1. Sensores
Detectar la inclinación del dispositivo usando sensores del teléfono.
Ejemplo de condición:
- inclinación entre 40° y 60°
2. Orientación hacia el norte
Detectar si el dispositivo apunta aproximadamente hacia el norte.
Se puede usar una tolerancia aproximada: 345° – 15°
3. Geolocalización
Obtener y mostrar:
- latitud
- longitud
4. Cámara
Cuando se cumplan las condiciones:
- inclinación correcta
- orientación al norte
la aplicación debe capturar una fotografía automáticamente.
La foto debe mostrarse en pantalla.
5. Galería
La aplicación debe permitir:
- guardar la imagen capturada en la galería
Información mostrada con la foto
Después de la captura se debe mostrar:
- fecha y hora
- latitud
- longitud
- orientación detectada
- inclinación detectada
Tecnologías sugeridas
La aplicación debe desarrollarse con:
- Expo
- React Native
- Hooks (
useState,useEffect)
Librerías recomendadas:
- expo-sensors
- expo-location
- expo-camera
- expo-image-picker
- expo-media-library
Entregables
1. Código
Proyecto completo en Expo. (Sin node_modules)
Reto opcional
Implementar alguna mejora adicional:
- brújula visual
- historial de fotos
- vibración cuando se detecte la posición correcta
- mostrar datos sobre la imagen capturada