Paso 7: PANEL SOLAR control – aplicación para ANDROID (2)
EL WIDGET DE LA APLICACIÓN
Aplicación los widgets son pequeñas ventanas que se pueden colocar en la pantalla principal de Android. Puede ser utilizados para mostrar información o datos de la aplicación en la pantalla de inicio sin tener la aplicación funcionando. Usar esto aquí que los tres valores principales (potencia consumida, potencia exportada o importada y energía producida) siempre visibles cuando uso mi teléfono o tableta.
El widget de la aplicación utiliza su propio temporizador
para actualizar los datos cada 1 minuto. Los datos actualizados se tiraron de la placa Arduino
con ayuda de la biblioteca de okhttp que tiene funciones fácil de utilizar para comunicarse a través de una red.
LAS FUNCIONES DE BASE DE DATOS
Yo uso una extensión de la SQLiteOpenHelper para obtener fácil acceso a una base de datos local en el Android.
La base de datos se genera automáticamente cuando la aplicación abre la primera vez
Todas las funciones necesarias para acceder a la base de datos se implementan en la clase de auxiliar de base de datos.
EL SERVICIO DE SINCRONIZACIÓN
El Arduino agrega cada minuto un conjunto de datos en la base de datos. Si es a partir de la aplicación de Android, la cantidad de datos que necesita ser sincronizado puede ser bastante grandes y tardan mucho tiempo para sincronizar. Para acortar esto he creado un servicio de fondo que se llama una vez al día para sincronizar las bases de datos de Arduino y el dispositivo Android. Para la sincronización se llama el script query.php en el Arduino.
Otra vez la biblioteca de okhttp se utiliza para acceder a la placa Arduino.
EL SERVICIO DE REINICIO
Es necesario poner los temporizadores para las actualizaciones del widget de la aplicación y la sincronización diaria otra vez después de que el dispositivo Android se enciende o se rebootet. Esto se hace en la clase de AutoStart, lo que es llamada por el sistema operativo Android cada vez que el dispositivo se inicia o fue rebootet.
La clase de AutoStart comprueba si hay ningún widget de la app activa e inicia el temporizador de actualización si es necesario. El temporizador para la sincronización diaria se inicia cada vez.
Es para la aplicación de Android. No entro en detalles aquí, porque el código fuente es bastante grande. Pero si usted está interesado puede consultar el código de fuente entero desde mi repositorio de Github.
Dirígete al último post de esta serie. Allí encontrará una lista de componentes de hardware que utiliza, desarrollo IDE utilizado para el desarrollo de software de Arduino y Android y bibliotecas necesarias utilizadas en las aplicaciones.