Los gráficos de datos son herramientas maravillosas para ilustrar las tendencias de los datos en las aplicaciones Android.

Como ejemplo, considere una aplicación que hace seguimiento del peso de una persona con relación a los objetivos. La figura 1 muestra como debe lucir una aplicación en Android. La figura utiliza una línea roja para mostrar el promedio de peso para el año 2017. Este muestra el objetivo como una línea verde en la parte inferior.

En este artículo presentaremos la librería GraphLib, para demostrar como hacer una gráfica de funciones matemáticas en Android, que es sencilla de utilizar.


Pueden descargar la librería en Download GraphLib.


Vistazo de GraphLib

La librería GraphLib consiste en una interface y ocho clases. Tres de las clases son internas a la librería, dos de las clases tienen una funcionalidad muy simple, y no son difíciles de entender.

En este artículo se describe la librería GraphLib, que utiliza las características de Java 8, como las interfaces funcionales y las expresiones lambda para desarrollo y pruebas de la librería, más es sencillo modificar estas características para versiones anteriores.

Interface funcional de GraphLib

Como observamos en el código, la interface Function tiene solo un método abstracto, por lo tanto es una interface funcional. Observe que esta interface es equivalente a DoubleUnaryOperator, que se encuentra en el paquete java.util.function. La diferencia es que esta clase Function solo utiliza la anotación @FunctionalInterface como funcionalidad de Java 8. Eliminar esta anotación es el único cambio necesario para hacer que la interface Function sea compatible con versiones inferiores de Java.

Clases que conforman GraphLib

La librería GraphLib tiene ocho clases, que son:

  • Point: encapsula un par de valores que representan un punto en el plano x-y
  • Label: encapsula un valor numérico y una cadena, donde el valor numérico representa un punto en el eje y la cadena una etiqueta para dicho punto.
  • GraphFunction: es una clase interna al paquete, encapsula a la clase que implementa Function.
  • GraphPoints: Encapsula una lista de puntos y el color que se utiliza para mostrarlos. Es una clase interna al paquete.
  • ScreenPoints: encapsula un par de enteros que representan las coordenadas de un pixel en el dispositivo Android. Esta clase es similar a la clase Point en el paquete android.graphics. Esta clase también es interna al paquete.
  • Graph: contiene información de los colores, puntos, etiquetas, gráficas, etc. Graph contiene muchos campos, todos estos con valores por defecto, por lo cual utiliza el patrón Builder para crear la instancia de la clase.
  • Graph.Builder: es la clase que crea a la clase Graph, utilizando el patrón Builder.
  • GraphView: es la clase responsable de mostrar la información en el dispositivo Android. La clase GraphView recibe el objeto Graph y lo presenta en el dispositivo.

Este artículo es un resumen de GraphLib: An open source Android library for graphs y pueden encontrar un ejemplo del uso de la librería en GraphLib: Sample.

Descarguen la librería y si tienen dudas, nos escriben y con gusto los ayudamos con sus dudas.

Pueden descargar un proyecto de Git : GraphLibDemo,  en el cual se utiliza la librería

GraphLib: Librería de código abierto para gráficos
Si te gusto, comparte ...Email this to someone
email
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Google+
Google+
Etiquetado en:            

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Facebook
A %d blogueros les gusta esto: