Esta semana contamos con la colaboración de
Nicolas Bortolotti, Profesor de la Universidad Tecnológica Nacional, Argentina.


En este artículo vamos a realizar un análisis del uso de un sistema de visualización mediante puntuación estilo “Rating”, generalmente la simbología implementada en este tipo de soluciones son las estrellas, un ejemplo de ello es la empleada en la valoración de hoteles. Este análisis e implementación lo vamos realizar sobre la tecnología Android. Inicialmente la idea sería colocar un widget que mediante una selección, reaccione de distintas formas, esto implica que cada selección sobre una valoración, se evalúe la posibilidad de realizar una acción, en este ejemplo se trabaja con umbrales y si se selecciona una valoración superior a “2” se muestra un mensaje correspondiente y en caso contrario se visualiza otro mensaje.

Veamos que nos provee como ayuda el equipo de Android:

En este vínculo siguiente podemos encontrar todo el detalle de la tecnología implementada.
http://developer.android.com/reference/android/widget/RatingBar.html
En el siguiente vínculo podemos ver un ejemplo propuesto por las demos de Android
http://developer.android.com/resources/tutorials/views/hello-formstuff.html

En la demo, vamos a utilizar el entorno Eclipse con el kit de desarrollo para Android.

Creamos una nueva aplicación para Android como muestra la siguiente figura:


Los puntos importantes a tener en cuenta son:
  • La clase RatingNB.java (se encuentra el esquema de ejecución de nuestra aplicación)
  • El archivo Main.xml (se encuentra el esquema de layout)
  • El archivo strings.xml (se encuentran los recursos)

Veamos la sintaxis de cada uno. En el vídeo enlazado al final de este artículo se pueden ver los detalles de ejecución:


En el método “OnCreate” podemos observar la creación de “ratingBar_default”, esto llega de la maqueta armada en main.xml “R.id.ratingbar_default”. Luego se sobreescribe el “onRatingChanged” para indicarle que realizar cada vez que cambia algo en el ratingbar, y particularmente la lógica que le hemos colocado indica que si el valor de rating es mayor a 2 se coloque un mensaje, sinó otro mensaje será mostrado.

Veamos el main.xml para definir el layout:

Como podemos observar, tenemos un texto genérico con un “string” que llega desde los recursos. Lo importante aquí es el tag “RatingBar” donde, por ejemplo, tiene declarado el “stepSize” para indicar en cuanto se segmenta la selección de valores de puntuación. Como ejemplo, la granularidad es 0.5 indica que segmentará por media estrella en cada selección.

Finalmente veamos el “strings.xml”:

Bien, se puede observar la personalización del recurso de cadena, con un valor de “Rating Nick”.
El aplicativo funcionando muestra el siguiente diseño:


Veamos la implementación del ejemplo en un vídeo:

Video en YouTube - RatingBar Android


Espero les sea de utilidad… hasta la próxima.

Nicolas Bortolotti, Profesor de la Universidad Tecnológica Nacional, Argentina.