Spanish imagen remota con imageview

future21

Member
Licensed User
Longtime User
Hola a todos.-

Realmente estoy bastante contento e impresionado con b4a. Es más de lo que me esperaba.

Actualmente estoy haciendo ya una pequeña aplicación, y aunque he ido resolviendo todos los problemas que me surgian poco a popco, he topado con uno en el que ando enfrascado tres días y no lo resuelvo. Se trata de poner en una serie de imageviews unas imágenes que capturo de un servidor remoto. El nombre de dicha imagen y el direcotiro lo tengo en una base de datos MySql en el mismo server.

Estoy utilizando la clase HttpUtils2Service y utilizo los métodos:

B4X:
job1.Download(RutaServer & ColumnName(2))

'''''''''
img1.Bitmap = job1.GetBitmap

siendo RutaServer el directorio remoto donde esta alojada la imagen y ColumnName(2) el nombre de la imagen.

El problema es que o me da un error de que no se puede almacenar la imagen en File.DirInternal o bien se queda pensando indefinidamente el movil sin recuperar niguna imagen.

Si podeis ponerme un ejemplo que tengais para poner en un imageview una imagen remota os estaria muy agradecido.

Saludos y gracias.
 

future21

Member
Licensed User
Longtime User
El error que me da es este:

LastExcetion Java.io.FileNotFoundException: /: open failed: EISDIR )Is a directory)
 

future21

Member
Licensed User
Longtime User
Buenas noches. Pego el código entero ya que antes me parece que el post no aclara mucho sobre que es lo que ocurre con este imageview.

Lo primero que hago es cargar de la Base de datos nombre de la imagen. Lo tengo almacenado en una DB MySQL.

B4X:
Sub httpC_ResponseSuccess (Response As HttpResponse, TaskId As Int)
   
   Dim num As Int
   Dim res As String
   
   res = Response.GetString("UTF8")
   Log("Response from server: " & res)
   Dim parser As JSONParser
   parser.Initialize(res)
   Select TaskId
      Case LISTA
         'add the countries to the ListView
         Dim Lista_1 As List
         Lista_1 = parser.NextArray 'returns a list with maps
         NumberOfRows = Lista_1.Size
         For i = 0 To NumberOfRows - 1
            Dim m As Map
            m = Lista_1.Get(i)
            'We are using a custom type named TwoLines (declared in Sub Globals).
            'It allows us to later get the two values when the user presses on an item.
            'Dim tl As TwoLines
            ColumnName(0) = m.Get("nombre")
            ColumnName(1) = m.Get("descrip")
            ColumnName(2) = m.Get("foto")
             'Send a GET request
             job1.Download(RutaServer & ColumnName(2))
            num = i
            AddRowNew(ColumnName, num)
            'scv1.AddTwoLines2(tl.First, tl.Second, tl)
         Next
         ProgressDialogHide
      Case POPULATION

'........ Resto código ..........
End Sub

En RutaServer tengo el directorio donde está la imagen en el server, y en ColumnName cargo la imagen propiamente dicha (el nombre de ésta).

B4X:
Sub AddRowNew(Values() As String, numPan As Int)
   
   'Dim pnl1 As Panel
   Dim lbl1 As Label
   Dim lbl2 As Label
   Dim img1 As ImageView
   
   'LEFT  TOP  WIDTH  HEIGHT   
   pnl1.Initialize("")
   scv1.Panel.AddView(pnl1,0,numPan*PanelHeight,100%x,PanelHeight)
   pnl1.LoadLayout("components")
   
   lbl1.Initialize("")
   pnl1.AddView(lbl1,10dip, 0dip, 2300dip, 30dip)
   lbl1.TextSize=12
   lbl1.TextColor=Colors.Black
   lbl1.Text = Values(0)
   
   
   lbl2.Initialize("")
   pnl1.AddView(lbl2, 10dip, 30dip, 174dip, 60dip)
   lbl2.TextSize=12
   lbl1.TextColor=Colors.White
   lbl2.Text = Values(1)
   
   img1.Initialize("")
   img1.Bitmap = job1.GetBitmap
   pnl1.AddView(img2,240dip, 0dip, 80dip, 90dip)
      
   scv1.Panel.Height = NumberOfRows * PanelHeight
   
End Sub

Aquí es donde cargaría la imagen en el imageview, sin embargo, en la línea img1.Bitmap = job1.GetBitmap me reporta el error:

B4X:
LastException java.lang.RuntimeException: Error loading Bitmap

En última instancia, también me valido en el servidor, enviando mi login y password, pero sigue reportándome el mismo error.

A ver si alguien me puede iluminar ya que llevo algunos días que no salgo de este bucle.

Saludos y muchas gracias.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…