M0286_Libro Curso

2: Avanzado en Android

Por último, hemos llamado al método startManagingCursor() , que es el que gestiona el ciclo de vida del cursor en base al ciclo de vida de la Activity . Con esto queremos decir, que si la Activity está en pausa, el cursor se va a desactivar automáticamente, y volverá a realizar la consulta, cuando se reanude la Activity . Si la finalizamos, se cierran todos los cursores. Vamos a definir el método showAccess() (*3*) que será el que muestre los resultados al usuario que estén contenidos en la BBDD. private void showAccess(Cursor cursor) { // guardamos todos los datos en una unica cadena StringBuilder builder = new StringBuilder(“Accesos guardados:\n”); while (cursor.moveToNext()) {

long id = cursor.getLong(0); long time = cursor.getLong(1); String title = cursor.getString(2); builder.append(id).append(“: “); builder.append(time).append(“: “); builder.append(title).append(“\n”);

} // los mostramos en la pantalla TextView text = (TextView) findViewById(R.id. text ); text.setText(builder);

}

StringBuilder Son objetos de cadena de texto, que pueden ser modificados. Internamen te, estos objetos son tratados como matrices de longitud variable que con tienen una secuencia de caracteres. En cualquier momento, el tamaño y el contenido de la secuencia de caracteres se pueden cambiar a través de llamadas a métodos. Los principales son los append e insert. Ambos están sobrecargados con el fin de aceptar datos de cualquier tipo. Cada uno de ellos, convierte un dato dado a cadena de texto y luego añade o inserta los caracteres de esa cadena al constructor de cadena. El método append siempre añade estos caracteres al final del constructor, y en cambio, el método insert los agrega en un punto especificado. En esta versión únicamente se va a guardar en una cadena de texto cada vez que se ejecute el programa. Con el método Cursor.moveToNext() avanzamos a la siguiente fila del conjunto de datos. Cuando su valor es false , nos indica que ya no quedan más filas. Con los métodos getLong() y getString() , obtendremos los datos de las columnas que nos interesan para posteriormente añadirlos a la cadena. Si ejecutamos dicho ejemplo, veremos algo similar a lo de la imagen siguiente. En nuestro caso vemos que hemos accedido al programa cinco veces.

129

Made with FlippingBook - Online catalogs