Вы находитесь на странице: 1из 3

INTRODUCCION DE BASES DE DATOS ANDROIDES

Android proporciona persistencia de datos estructurados a través de una combinación de bases


de datos SQLite y proveedores de contenido.

Las bases de datos SQLite se pueden usar para almacenar datos de aplicaciones utilizando un
enfoque administrado y estructurado. Android ofrece una biblioteca de bases de datos
relacionales SQLite completa. Cada aplicación puede crear sus propias bases de datos sobre las
cuales tiene control completo.

Después de haber creado su almacén de datos subyacente, los proveedores de contenido


ofrecen una interfaz genérica y bien definida para usar y compartir datos que proporciona una
abstracción consistente de la fuente de datos subyacente.

BASE DE DATOS SQLITE

Con SQLite puede crear bases de datos relacionales totalmente encapsuladas para sus
aplicaciones. Úselos para almacenar y administrar datos de aplicaciones complejos y
estructurados.

Las bases de datos de Android se almacenan en la carpeta / data / data / <package_name> /


databases en su dispositivo (o emulador). Todas las bases de datos son privadas, accesibles solo
por la aplicación que las creó.

El diseño de la base de datos es un gran tema que merece una cobertura más completa de lo
que es posible dentro de este libro. Vale la pena destacar que las mejores prácticas de la base
de datos estándar aún se aplican en Android. En particular, cuando crea bases de datos para
dispositivos con recursos limitados (como teléfonos móviles), es importante normalizar sus
datos para minimizar la redundancia.

PROVEEDORES DE CONTENIDO

Los proveedores de contenido proporcionan una interfaz para publicar y consumir datos, basada
en un modelo de direccionamiento de URI simple que utiliza el esquema content: //. Le permiten
desacoplar las capas de aplicación de las capas de datos subyacentes, lo que hace que las fuentes
de datos de las aplicaciones sean independientes al abstraer la fuente de datos subyacente.

Los proveedores de contenido se pueden compartir entre las aplicaciones, consultar los
resultados, actualizar o eliminar sus registros existentes y agregar nuevos registros. Cualquier
aplicación, con los permisos adecuados, puede agregar, eliminar o actualizar datos de cualquier
otra aplicación, incluidos los proveedores nativos de contenido de Android.

Varios proveedores de contenido nativos se han hecho accesibles para el acceso de aplicaciones
de terceros, incluido el administrador de contactos, la tienda multimedia y el calendario, como
se describe más adelante en este capítulo.

Al publicar sus propios Proveedores de contenido, hace posible que usted (y otros
desarrolladores) incorporen y amplíen sus datos en nuevas aplicaciones.

INTRODUCCION SQLITE

SQLite es un sistema de administración de bases de datos relacionales (RDBMS) bien


considerado. Es:

Fuente abierta
Cumple con los estándares

Ligero

Single-tier

Se ha implementado como una biblioteca C compacta que se incluye como parte de la pila de
software de Android.

Al implementarse como una biblioteca, en lugar de ejecutarse como un proceso continuo


separado, cada base de datos SQLite es una parte integrada de la aplicación que lo creó. Esto
reduce las dependencias externas, minimiza la latencia y simplifica el bloqueo y la sincronización
de transacciones.

SQLite tiene una reputación de ser extremadamente confiable y es el sistema de base de datos
de elección para muchos dispositivos electrónicos de consumo, incluidos muchos reproductores
de MP3 y teléfonos inteligentes.

Ligero y potente, SQLite difiere de muchos motores de bases de datos convencionales


escribiendo vagamente cada columna, lo que significa que los valores de columna no son
necesarios para ajustarse a un solo tipo; en su lugar, cada valor se escribe individualmente en
cada fila. Como resultado, la verificación de tipos no es necesaria cuando se asignan o extraen
valores de cada columna dentro de una fila.

Usando sensores y sensor manager


Sensor Manager se utiliza para administrar el hardware del sensor disponible en dispositivos
Android. Use getSystemService para devolver una referencia al servicio Sensor Manager, como
se muestra en el siguiente fragmento:

String service_name = Context.SENSOR_SERVICE;

SensorManager sensorManager = (SensorManager) getSystemService (service_name);

En lugar de interactuar directamente con el hardware del sensor, están representados por
objetos Sensor que describen las propiedades del sensor de hardware que representan, incluido
su tipo, nombre, fabricante y detalles sobre su precisión y alcance.

La clase Sensor incluye un conjunto de constantes que describen qué tipo de sensor de hardware
está siendo representado por un objeto Sensor en particular. Estas constantes toman la forma
de Sensor.TYPE_ <TYPE>. La siguiente sección describe cada tipo de sensor admitido, después
del cual aprenderá cómo encontrar y usar estos sensores.

Sensor.TYPE_AMBIENT_TEMPERATURE: introducido en Android 4.0 (nivel de API 14) para


reemplazar el ambiguo (y obsoleto) Sensor.TYPE_TEMPERATURE. Este es un termómetro que
devuelve la temperatura en grados Celsius; la temperatura devuelta será el ambiente
temperatura ambiente.

Sensor.TYPE_ACCELEROMETER: un acelerómetro de tres ejes que devuelve la aceleración actual


a lo largo de tres ejes en m / s2 (metros por segundo, por segundo). El acelerómetro se explora
con mayor detalle más adelante en este capítulo.

Sensor.TYPE_GRAVITY: sensor de gravedad de tres ejes que devuelve la dirección actual y la


magnitud de la gravedad a lo largo de tres ejes en m / s2. El sensor de gravedad típicamente se
implementa como un sensor virtual al aplicar un filtro de paso bajo a los resultados del sensor
del acelerómetro.

Sensor.TYPE_LINEAR_ACCELERATION - Un sensor de aceleración lineal de tres ejes que


devuelve el aceleración, sin incluir la gravedad, a lo largo de tres ejes en m / s2. Al igual que el
sensor de gravedad, la aceleración lineal se implementa típicamente como un sensor virtual
utilizando la salida del acelerómetro. En este caso, para obtener la aceleración lineal, se aplica
un filtro de paso alto a la salida del acelerómetro.

Sensor.TYPE_GYROSCOPE - Un giroscopio de tres ejes que devuelve la tasa de rotación del


dispositivo a lo largo de tres ejes en radianes / segundo. Puede integrar la tasa de rotación a lo
largo del tiempo para determinar la orientación actual del dispositivo; sin embargo,
generalmente es una mejor práctica usar esto en combinación con otros sensores
(generalmente los acelerómetros) para proporcionar una orientación corregida y
modificada. Aprenderá más sobre el sensor del giroscopio más adelante en este capítulo

Sensor.TYPE_ROTATION_VECTOR - Devuelve la orientación del dispositivo como una


combinación de un ángulo alrededor de un eje. Normalmente se utiliza como una entrada al
método getRotationMatrixFromVector del Administrador de sensores para convertir el vector
de rotación devuelto en una matriz de rotación. El sensor de vector de rotación se implementa
típicamente como un sensor virtual que puede combinar y corregir los resultados obtenidos de
múltiples sensores, como los acelerómetros y giroscopios, para proporcionar una matriz de
rotación más suave.

Sensor.TYPE_MAGNETIC_FIELD - Un magnetómetro que encuentra el campo magnético actual


en microteslas (μT) a lo largo de tres ejes.

Sensor.TYPE_PRESSURE - Sensor de presión atmosférica, o barómetro, que devuelve la presión


atmosférica actual en milibares (mbars) como un valor único. El sensor de presión se puede usar
para determinar la altitud usando el método getAltitude en el Administrador de sensores para
comparar la presión atmosférica en dos ubicaciones. Los barómetros también se pueden usar
en el pronóstico del tiempo midiendo los cambios en la presión atmosférica en el mismo lugar.

Sensor.TYPE_RELATIVE_HUMIDITY: sensor de humedad relativa que devuelve la humedad


relativa actual como un porcentaje. Este sensor se introdujo en Android 4.0 (API nivel 14)

Sensor.TYPE_PROXIMITY - Un sensor de proximidad que indica la distancia entre el dispositivo


y el objeto objetivo en centímetros. La forma en que se seleccione un objeto objetivo y las
distancias admitidas dependerá de la implementación del detector de proximidad. Algunos
sensores de proximidad pueden devolver solo resultados "cercanos" o "lejanos", en cuyo caso
el último se representará como el rango máximo del sensor, y el primero usará un valor
menor. Los usos típicos del sensor de proximidad son detectar cuándo se sostiene el dispositivo
contra la oreja del usuario, ajustar automáticamente el brillo de la pantalla o iniciar un comando
de voz.

Sensor.TYPE_LIGHT - Un sensor de luz ambiental que devuelve un valor único que describe la
iluminación ambiental en lux. Un sensor de luz comúnmente se utiliza para controlar el brillo de
la pantalla de forma dinámica

Вам также может понравиться