You are on page 1of 6

View this page in: English

Translate

Turn off for: Spanish

Options

Buscar

Inicio

Guas de Instalacin

Programacin Android

Servicios y Redes

Contacto

Concenos

Anterior Siguiente EN TR AD AS POPU L AR ES

Rellenar un ListView con SQLite


23 de enero de 2013 por 3pies

Aplicaciones para usar la Webcam en Linux Particionado y formateado de un disco duro o pen en Ubuntu Aadir un icono personalizado al lanzador de Unity Conversores de vdeo en Ubuntu

Ya son varias la veces que me pedis que os explique como rellenar un ListView, un Spinner o otra estructura desde una base de datos as que hoy voy a explicar como hacerlo.

Vamos a aprovechar el artculo que ya escrib hace tiempo de como acceder a base de datos para hacer el artculo lo ms liviano posible, para ello leeros antes el artculo sobre como tratar datos en bases de datos. Una vez creada vuestra clase para tratar datos echarle un vistazo a este artculo para ver como leer los datos de la base de datos. Nuestros datos los debemos traer en un objeto Cursor. Hacemos una consulta como la siguiente. Esto lo podis ver en los artculos que os indique antes. Fijaros que para el identificador le creamos un alias con un guin delante, esto es importante porque si no le damos este nombre el SimpleCursorAdapter no sabr cual es el id.

Creando nuestro sistema de registro y login: Android (I) Cmo aadir publicidad en Android Leyendo servicios w eb desde Android: JSON Optimizar el uso de VirtualBox

AR C H IVO
2013 (30) septiembre (5) julio (1) junio (7) mayo (4)

public Cursor leerLibros(){ SQLiteDatabase db = getReadableDatabase();

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

return db.rawQuery("SELECT id AS _id, libro AS name FROM libros;", null); }

mayo (4) abril (2) marzo (2) febrero (5) enero (4)

Ahora vamos a crear un layout llamado row.xml que ser donde mostraremos el texto. En Android existen layouts ya preparadas para esto, pero esta vez utilizar esta plantilla por si quereis cambiar su aspecto que os sea sencillo.

2012 (131) 2011 (183) 2010 (161) 2009 (67) 2008 (9)

<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dip"/>

L TIMOS C OMEN TAR IOS

Federico Genio de la vida! muchas gracias. http://w w w .nosinmiubuntu.com/2009/06/convertirm4a-mp3-en-ubuntu.html 19 hours ago

Ahora en nuestra Activity vamos a rellenar un ListView. En nuestra Activity simplemente tendremos un ListView llamado listview. Y en el onCreate ejecutamos lo siguiente:

ListView listView = (ListView) findViewById(R.id.listView); bbdd bbdd = new bbdd(this); Cursor cursor = bbdd.leerLibros(); startManagingCursor(cursor); String[] from = new String[]{"name"}; int[] to = new int[]{R.id.text};

#Just Muy buen tutorial gracias! hay alguna manera en la que pueda usar share preference con la cmara? lo he intentado pero no me sale. Saludos ~ Nosinmiubuntu | Ubuntu en concreto, GNU/Linux en general: Cmo guardar datos en Android: SharedPreferences 20 hours ago

Con esto ltimo ya est listo nuestro cdigo. Instanciamos nuestro ListView, tambin nuestra clase de base de datos y llamamos al mtodo leerLibros.

German Brizuela HOla que tal, tuve la siguiente exception cuanod se SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.row, cursor, from, ejecuta to); HttREsponse : android.os.Netw orkOnMainThreadException Tendrias alguna ayuda para brindarme por favor? Muchas Gracias listView.setAdapter(cursorAdapter); Nosinmiubuntu | Ubuntu en concreto, GNU/Linux en general: Leyendo servicios w eb desde Android: JSON 3 days ago

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

ETIQU ETAS

Por otro lado preparamos un array, from , con los nombres de las columnas en este caso solo ser name. Tambin otro, to, con los ids de los elementos donde se ubicarn los datos de nuestra base de datos. De este modo le decimos que los datos de la columna name se ubican en el TextView con el id text. Por ltimo enlazamos el SimpleCursorAdapter al ListView con el mtodo setAdapter.

Android Canonical Debian DHCP DNS Escritorio Fedora Firefox GNOME


GNU GNU/Linux Instalacin Linux Lubuntu Mozilla Mquina Virtual PHP Plymouth programacin Proyecto Shell Software Libre servidor Software Libre Tip

Etiquetas 3pies, Android, Cursor, CursorAdapter, daniel, listview, programacin, SimpleCursorAdapter, sqlite . permalink.

Ubuntu

Unity

USB

VirtualBox VLC VrtualBox Webcam

4 comentarios Join the discussion


El mejor Comunidad
hace un mes

Compartir

Avatar

Jhan Marin

esta muy buena la informacin


Responder Compartir

Avatar

Leo

hace un mes

No tienes el ejemplo completo de este cdigo es que me es muy difcil visualizar el resultado ya que todas las dems partes del cdigo estn regadas en diferentes post sin ningn indice
Responder Compartir

Avatar

Daniel Gonzalez Jimenez

hace 10 meses

Me gustara hacerte una pregunta acerca de cmo abordar los datos que recibo de una base de datos Sqlite en cdigo Java. En primer lugar, la utilizacin de startmanagingcursor() no es apropiada ya que est obsoleta desde la API 11. En su lugar, y como gua de utilizacin como "best practice" en Android, recomiendan usar CursorLoader.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

La verdad es que todava estoy investigando y este tema no me queda nada claro. Tal y como lo hago yo ahora mismo, en vez de trabajar directamente con objetos Cursor en mi aplicacin para pasarselos a la interfaz, trabajo con objetos creados por m. Es decir, en tu ejemplo, como lo hara personalmente sera asi: mi clase SqliteOpenHelper tendra la funcin LeerLibros(), si es una funcin en la cual devolvera un solo Libro, devolvera un objeto de la clase Libro (creada por m) y son un conjunto de Libros, devolvera un ArrayList<libro>. ArrayList<libro> libros_actuales = LeerLibros(); listview.setAdapter = new AdapterPersonalizadoLibro ( contexto, layout, libros_actuales). AdapterPersonalizadoLibro es un adapter personalizado, en el cual en el mtodo getView() hago uso de libros_actuales, en los cuales voy a actualizar la vista del listview con los valores que he recogido en
ver ms
Responder Compartir

3pi3s

Moderador

Daniel Gonzalez Jimenez hace 10 meses

Buenas Daniel, Normalmente hago lo mismo que t, tengo un objeto, Libro en este caso, y con una lista de Libros cargo mi ListView, Gallery, GridView o lo que quiera. Libro en mi caso sabe como cargar sus parmetros si le paso un Cursor, un objeto JSON o lo que sea. Para acceder a la base de datos nunca lo hago desde las Activities, lo hago o desde el objeto Libro si solo quisiera cargar uno o desde la lista de Libros que declaro as: class ListaLibros extends ArrayList<libro>. De esa forma solo tengo que llamar a un objeto ListaLibro y un mtodo para leer los datos. El ejemplo que puse aqu sera aplicable para casos muy concretos, en los que no merezca la pena crear un objeto para rellenar un ListView y sobre todo un Spinner. El tema de la API, es cierto que hay cosas que se van quedando obsoletas, pero a la hora de desarrollar una app hay que tener en cuenta a todos los posibles usuarios y actualmente todava hay bastantes dispositivos con android 2.2. Un saludo!</libro>
Responder Compartir

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

TAMBIN EN NOSINMIUBUNTU

Notificaciones Push en Android I | Nosinmiubuntu | Ubuntu en concreto,


14 comentarios hace un ao

Notificaciones Push en Android II | Nosinmiubuntu | Ubuntu en concreto,


16 comentarios hace 11 meses

Leo Hola.Ante todo GRACIAS!!Hay una cosita que

3pi3s Buenas Luis, Por un lado, no es necesario

no termino de pillar. Entiendo que cuando alguien se instala la app ocurre un case

se invoque la clase GCMIntentService. En

Bash Scripting: Condicionales | Nosinmiubuntu | Ubuntu en concreto,


2 comentarios hace 5 meses

Google Maps V2 en Android | Nosinmiubuntu | Ubuntu en concreto, GNU/Linux en general


3 comentarios hace 8 meses

ToroMataI Muy bueno!! Gracias

Josh hola, al hacer todo esto como sale.en

no me carga el mapa, me aparecen los botones zoom pero no se ve nada en el

Suscrbete

Add Disqus to your site

GOOGL E+ FOL L OWER S TR AN SL ATE

TWITTER
Tw eets por @nosinmiubuntu

BL OGR OL L
Usem os Linux Mir y Unity 8 estarn presentes en Ubuntu 14.10 Planet Ubuntu E18 Alpha2 en ubuntu Ubunlog Firefox Marketplace, un ecosistema en constante crecimiento Thalskarth's Malstrom Siguiendo la telaraa 47/2013

Select Language

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Planeta Linux Espaa Francisco Luque: Repositorio DMDc (situacin) Mostrar todo

NosinmiUbuntu
Ubuntu en concreto, GNU/Linux en general

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com