Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 07/01/14, 10:36:44
Avatar de Napster87
Napster87 Napster87 no está en línea
Miembro del foro
Mensajes: 74
 
Fecha de registro: may 2013
Mensajes: 74
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Tratar imagenes Sqlite desde src

A ver si explico lo que quiero hacer bien:

Tengo una bd en sqlite con datos texto,puedo mostrar en listview y en detalle en un formulario,pero quiero insertar un campo imagen junto a un campo texto en el listview,y no se como plantearlo.EL caso es que no voy a guardar imagenes en la bd,sino incluyendo la ruta de donde se encuentra (drawables o asset),desde una carpeta vaya.

Como modificar la bd?hago un insert con la direccion en plan "drawables/foto....

Y en la clase adapter tengo un cursor para extraer los datos pero siendo string el campo de la foto,para pasarlo al imageview no consigo hacerlo funcionar,ideas de por donde empezar??

Con datos lo estoy haciendo asi:

TextView tv = (TextView) view.findViewById(R.id.tnombre);
tv.setText(cursor.getString(cursor.getColumnIndex( DbAdapter.C_COLUMNA_NOMBRE)));

A ver si podeis decirme por donde empezar,no encuentro tutoriales que lo hagan asi,solo almacenandolas en tipo blob....
Responder Con Cita


  #2  
Viejo 07/01/14, 22:54:35
Avatar de Dild0
Dild0 Dild0 no está en línea
Usuario muy activo
Mensajes: 860
 
Fecha de registro: may 2009
Mensajes: 860
Versión de ROM: CyanogenMOD
Tu operador: Pepephone
Mencionado: 3 comentarios
Tagged: 0 hilos
a ver si esto te ayuda

http://stackoverflow.com/questions/1...path-in-sqlite


Entiendo que guardando el nombre del recurso y pasando ese codigo consiues su id y ya solo sería añadirlo
Responder Con Cita
  #3  
Viejo 08/01/14, 10:13:08
Avatar de Napster87
Napster87 Napster87 no está en línea
Miembro del foro
Mensajes: 74
 
Fecha de registro: may 2013
Mensajes: 74
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Entiendo ese ejemplo,pero no se por donde empezar....
Estoy realizando insert a traves de codigo asi:

db.execSQL("INSERT INTO MUSEOS(_id, nombre,direccion,imagen) VALUES(1,'candelaria','cerca','drawable/candelaria')");

En el caso de almacenar la ruta asi,como acceder a ella,con ese codigo no me aclaro....es tipo string,nada de blob
Responder Con Cita
  #4  
Viejo 08/01/14, 11:15:43
Avatar de Arasthel
Arasthel Arasthel no está en línea
Cocinero veterano
Mensajes: 1,946
Compra y venta: (1)
 
Fecha de registro: jun 2009
Localización: Almería
Mensajes: 1,946
Modelo de smartphone: Nexus 5
Versión de ROM: DroidKang
Tu operador: Amena
Mencionado: 393 comentarios
Tagged: 1 hilos
Deberías guardarlo como "R.drawable.candelaria" y luego cargarlo como te pone en la primera respuesta de Stack que te ha dado Dild0, con el getIdentifier.

Un saludo.
Responder Con Cita
  #5  
Viejo 08/01/14, 11:20:23
Avatar de Dild0
Dild0 Dild0 no está en línea
Usuario muy activo
Mensajes: 860
 
Fecha de registro: may 2009
Mensajes: 860
Versión de ROM: CyanogenMOD
Tu operador: Pepephone
Mencionado: 3 comentarios
Tagged: 0 hilos
Otra opcion es guardar en base de datos no la ruta si no el id en un campo int

R.drawable.candelaria -> esto devuelve un int que guardas en el campo.
Luego haces la select y recuperas el Int en una variable
seteas tu imagen imagen.setBackgroundResource(resid); donde resid es tu entero
Responder Con Cita
  #6  
Viejo 08/01/14, 11:38:44
Avatar de Arasthel
Arasthel Arasthel no está en línea
Cocinero veterano
Mensajes: 1,946
Compra y venta: (1)
 
Fecha de registro: jun 2009
Localización: Almería
Mensajes: 1,946
Modelo de smartphone: Nexus 5
Versión de ROM: DroidKang
Tu operador: Amena
Mencionado: 393 comentarios
Tagged: 1 hilos
El problema que puede tener eso que comentas es que dicho id se cambie al cambiar los resources. Realmente no sé si puede pasar, pero si fuera así podrías intentar cargar un id totalmente distinto, pongamos un String, cuando lo que quieres es un Drawable.

Un saludo.
Responder Con Cita
  #7  
Viejo 09/01/14, 09:53:13
Avatar de Napster87
Napster87 Napster87 no está en línea
Miembro del foro
Mensajes: 74
 
Fecha de registro: may 2013
Mensajes: 74
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Hola!gracias por la ayuda! He seguido lo que me has arasthel y tras probar y probar di con la solucion,la pongo aqui por si ayuda a alguien en un futuro:

El insert en la bd de sqlite al final quedo asi: '@drawable/foto'.Con r.drawable...no funcionaba....

y el codigo,haciendo referencia desde un cursor que tenia:

String uri = cursor.getString(cursor.getColumnIndex(DbAdapter.C _COLUMNA_IMAGEN));

int resId = context.getResources().getIdentifier(uri,null,cont ext.getPackageName());
ImageView im2= (ImageView)view.findViewById(R.id.timagen);
im2.setImageResource(resId);


Y con esto lo muestro en un listview junto con un campo texto perfectamente.
Siguiente paso....galeria de imagenes...jeje

Gracias!
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 03:10:25 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007