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
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.

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.
 
Top