Uso básico de ADA Framework: Parte II

Continuando con el proyecto del que hablamos en la entrada Uso básico de ADA Framework: Parte I pasamos ahora a realizar una muestra de como ver los datos almacenados en la base de datos en la pantalla de nuestra aplicación.

Entorno de desarrollo:

  • Windows 7 Home Premium 64bits.
  • Eclipse Indigo con ADT Plugin for Eclipse instalado.
  • Android SDk 2.2 (min. sdk 8).
  • ADA Framework 1.4.5.
  • Probado en Samsung Galaxy ACE GT-S5830 con Android 2.3.3
  • El repositorio de SVN para descargar el proyecto (Parte I yParte II) es: svn://svn.code.sf.net/p/adalab1/code/trunk (Es un único proyecto)

Fuentes:

Lo primero que vamos a hacer es modificar nuestro ApplicationDataContext para que NO sobreescriba el ObjectSet cada vez que se invoque su constructor (también podríamos utilizar el patrón de diseño Singleton pero no vamos a complicar más el código).

Ahora vamos a sobreescribir el método toString() de nuestra clase User para que al mostrar un elementoen la lista no aparezca el valor por defecto que devuelve este método sino, por ejemplonombre (email@email.com).

Y por último, antes de meternos a ver cómo se cargan los datos con ADA Framework, añadimos un ListActivity (que he llamado MainListActivity) donde cargaremos nuestra lista de usuarios y su layout (que he llamado main_list_item.xml) correspondiente que representa el layout de cada uno de los elementos representados en la vista.

Ahora toca analizar un poco el código aunque si nos fijamos bien, prácticamente todo es original de Android, exceptuando 2 o 3 líneas en las que el ApplicationDataContext carga los datos. Describo rápidamente los pasos:

  1. Declarar un ApplicationDataContext para interactuar contra la BD.
  2. Instanciar nuestro ApplicationDataContext, esto es en el código, new ApplicationDataContext(this);
  3. Cargar los datos de la base de datos en el ObjectSet del ApplicationData context, es decir, dataContext.getUsuarioSet().fill();
  4. Asignar el mismo Adapter de nuestro ListView que muestra los datos por pantalla, a nuestro manejador de datos de usuario del ApplicationDataContext, con dataContext.getUsuariosSet().setAdapter(…);

Como nota importante indicar que el método que hemos utilizado para la carga de los datos desde la BD en el ObjectSet (fill()) es una de las múltiples posibilidades. Este método hará que se ejecute la siguiente sentencia SQL que aparecerá en vuestro LogCat de Eclipse:

Como véis es un SELECT de todos los campos de la tabla sin ningún tipo de filtrado y con la ordenación por defecto por el campo ID de la tabla.

Otras posibilidades las podéis encontrar haciendo CTRL+SPACE después de getUsuarioSet(). y os aparecerá el listado de métodos que también podéis encontrar en la documentación de ObjectSet:

Este es el resultado del listado de usuarios del ejercicio:

Y esto es todo! En el próximo post acerca de ADA Framework trataré de explicaros como evolucionar este ejercicio para utilizar los Databinders para agilizar la carga de los datos desde la capa de persistencia en la de interfaz de usuario y viceversa.

Acerca de vicmonmena

Just trying to contribute with my code to make this world easier
Esta entrada fue publicada en Android y etiquetada , , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s