Spanish como mostrar imágenes de una base de datos ?

ebqlabs

Active Member
Licensed User
Hola tengo en un ftp unas imágenes, y a su vez en una tabla tengo la ruta de cuya imagen.
Necesito poder mostrar imágenes. tengo este código .

B4X:
Sub Globals
    Dim h As HttpJob
    Dim json As JSONParser
End Sub

Sub Activity_Create(FirstTime As Boolean)
h.initialize("json", Me)
h.Download2("www.", Array As String("iNumCtr", 10131, "iLtrRpz", "", "iFlgEst", 1))
end sub

Sub JobDone(job As HttpJob)
       If job.Success Then
               json.Initialize(job.GetString)
               CargarImagen
       Else
              Msgbox("Falla la conexión a internet", "")
       End If
End Sub

Sub CargarImagen
    Dim m As Map
    m=json.NextObject    
    Dim data As List
    data=m.Get("data")

For i=0 To data.Size-1
    Dim f As String
     f = m.Get("app_rta_fto")   ''este es la ruta de mi imagen
Next

End Sub


y tengo este codigo en donde muestro imagenes pero de mi dispositivo

B4X:
    Bitmaps.Initialize
    Dim files As List
    files.Initialize()
  
    imagesFolder = File.DirAssets

    files = File.ListFiles(imagesFolder) 'obtener todos los archivos de esta carpeta
  
    For i = 0 To files.Size - 1
        DoEvents 'requerido para la animación ProgressDialog
        Dim f As String
        f = files.Get(i)
        If f.ToLowerCase.EndsWith(".jpg") Then

            Dim b As Bitmap
            b.InitializeSample(imagesFolder, f, 500dip, 500dip) 'cargar el archivo JPEG y submuestras que si es demasiado grande.
            Bitmaps.Add(b) 'añadir el mapa de bits en la lista de mapas de bits .
            If Bitmaps.Size > 50 Then Exit 'limitarlo a 50 imágenes
        End If
    Next
    ToastMessageShow("Encontró " & Bitmaps.Size & " Imágenes", True)

No se como poder cambiarlo para mostrar lo de la base de datos

saludos
 
Last edited:

Descartex

Well-Known Member
Licensed User
Longtime User
Muy buenas.
En este Sub:
B4X:
Sub CargarImagen
    Dim m As Map
    m=json.NextObject   
    Dim data As List
    data=m.Get("data")

For i=0 To data.Size-1
    Dim f As String
     f = m.Get("app_rta_fto")   ''este es la ruta de mi imagen
Next

End Sub

Haz una llamada al servidor para pedir la imagen
B4X:
Sub CargarImagen
    Dim m As Map
    m=json.NextObject   
    Dim data As List
    data=m.Get("data")

For i=0 To data.Size-1
    Dim f As String
    ' f = m.Get("app_rta_fto")   ''este es la ruta de mi
    Dim ImageJob as HttpJob
    ImageJob.Initialize("Image",Me)
    ImageJob.Download(m.Get("app_rta_fto"))
Next

End Sub
Siempre y cuando m.Get("app_rta_fto") devuelva la ruta completa a la imagen, de otra forma, añadesela.

Y en el JobDone, añades un case para cuando llegue el Job llamado "Image".
Entonces dentro pones algo asi:
B4X:
MiBitmap.Bitmap=Job.GetBitmap

Cambiando MiBitmap por el nombre de la variable que almacenara la imagen.
 

ebqlabs

Active Member
Licensed User

Amigo realice lo que colocaste pero me perdi en la parte de

B4X:
MiBitmap.Bitmap=Job.GetBitmap

el campo m.Get("app_rta_fto") si me trae la ruta, es decir:
www.mipagina.com/imagen/auto.jpg

y en el jobdone lo deje así

B4X:
Sub JobDone(job As HttpJob)
     json.Initialize(job.GetString)
       If job.Success Then
           Select job.JobName
            Case "json"
               CargarImagen
            Case "Image"
           
        End Select 
       Else
               Msgbox("error", "")
       End If
End Sub
 
Last edited:

Descartex

Well-Known Member
Licensed User
Longtime User
Bien, pues en el apartado del JobDone de la imagen, ya tienes la imagen, sólo la tienes q asignar al imageview que quieras, pero sin hacer LoadBitmap, sino asignando directamente el contenido del Job.GetBitmap.
Eso te devuelve directamente el bitmap de la imagen.
Un saludo.
 

Jorgelcr

Active Member
Licensed User
Longtime User
Hola,
Conseguiste hacerlo?
Estoy intentando hacer lo mismo y no lo consigo.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…