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

Respuesta
 
Herramientas
  #1  
Viejo 07/01/14, 10:36:44
Array

[xs_avatar]
Napster87 Napster87 no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Mensajes: 74
Tu operador: Movistar

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
Array

[xs_avatar]
Dild0 Dild0 no está en línea
Usuario muy activo
 
Fecha de registro: may 2009
Mensajes: 860
Tu operador: Pepephone

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
Array

[xs_avatar]
Napster87 Napster87 no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Mensajes: 74
Tu operador: Movistar

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
Array

[xs_avatar]
Arasthel Arasthel no está en línea
Cocinero veterano
· Votos compra/venta: (1)
 
Fecha de registro: jun 2009
Localización: Almería
Mensajes: 1,946
Modelo de smartphone: Nexus 5
Tu operador: Amena
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
Array

[xs_avatar]
Dild0 Dild0 no está en línea
Usuario muy activo
 
Fecha de registro: may 2009
Mensajes: 860
Tu operador: Pepephone

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
Array

[xs_avatar]
Arasthel Arasthel no está en línea
Cocinero veterano
· Votos compra/venta: (1)
 
Fecha de registro: jun 2009
Localización: Almería
Mensajes: 1,946
Modelo de smartphone: Nexus 5
Tu operador: Amena
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
Array

[xs_avatar]
Napster87 Napster87 no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Mensajes: 74
Tu operador: Movistar

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   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 18:11:16 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /