Recursos de un dispositivo móvil

Almacenamiento

Datos persistentes de una aplicación son los datos salvaguardados antes del cierre de la aplicación.

Almacenamiento interno

Almacenamiento externo

Se almacenan en el dispositivo de manera interna. El acceso a estos archivos está restringido a la aplicación. Ni el usuario ni las demás.

Son de manera pública. El usuario y todas las demás aplicaciones pueden leerlos, modificarlos y suprimirlos en cualquier momento.

Archivos temporales

Una aplicación puede necesitar archivos temporales o archivos de caché. Se reserva una ubicación específica para almacenar estos archivos tanto en el almacenamiento interno como externo.

Bases de datos

Una aplicación puede necesitar una base de datos para almacenar y realizar consultas sobre sus datos.

Se pueden crear bases con formatos SQLite

Proveedores de contenido

Más allá de la persistencia de los datos, proporcionan un mecanismo de compartición de datos entre las aplicaciones

Networking

Capacidad de intercambiar información con un servidor remoto, bien sea una red privada o pública.

Sensores

Sensores integrados que miden el movimiento, orientación y diversas condiciones ambientales

Movimiento: miden las fuerzas de aceleración, de rotación en sus tres ejes. Incluye acelerómetro, sensores de gravedad, giroscopio y de vector de rotación

Ambientales: miden varios parámetros ambientales como la temperatura y al presión del aire ambiental, iluminación, humedad.

Posición: miden la posición física de un dispositivo. Incluye sensores de orientación y magnetómetros.

Android.Hardware

Sensor Manager: crea instancia del servicio

Sensor: métodos que permiten determinar las capacidades de un sensor

Sensor Event: crea un objeto de evento

SensorEventListener: crean eventos cuando cambian los valores del sensor

Concurrencia

Por defecto, un proceso comprende solo un thread

Todos los componentes de la aplicación se ejecutan en este thread

Si una aplicación no responde tras 10 segundos, android considera que está bloqueada

Para evitar tal bloqueo de la aplicación, cualquier procesamiento largo como, una descarga web o un cálculo intensivo deben realizarse en un thread secundario dedicado, liberando al thread principal

Se recomienda encarecidamente crear threads antes que procesos, pues estos ´últimos consumen más recursos.

Métodos comunes

Start()

Sleep()

Join()

Yield()

Stop()

Suspend()

Resume()