Hola buenas tardes. Me gustaría poder abrir una imagen teniendo su ruta, para poder copiarla a una imageview por ejemplo. Es posible? Gracias
Sub GetSelectedRecord (NameSelectedItem As String)
Dim req As DBRequestManager = CreateRequest
Dim cmd As DBCommand = CreateCommand("selectedItem", Array(NameSelectedItem))
Wait For (req.ExecuteQuery(cmd, 0, Null)) JobDone(j As HttpJob)
ProgressDialogShow("Cargado...")
If j.Success Then
req.HandleJobAsync(j, "req")
Wait For (req) req_Result(res As DBResult)
'work with result
'req.PrintTable(res)
' Log(res.Columns)
For Each row() As Object In res.Rows
If Main.Status = "U" Then
item_id = row(0)
EditTextNameIU.Text = row(1)
EditTextNumber.Text = row(2)
EditTextMarcaIU.Text = row(3)
Fecha = DateTime.now = row(4)
EditTextPrecio.Text = row(5)
Dirx = row(6)
Filenamex = row(7)
EditTextDescriptionIU.Text = row(8)
Else
If res.Rows.Size > 0 Then
ProgressDialogHide
Msgbox("Nombre ya en uso, cambie el nombre porfavor !","Fallo")
End If
End If
Next
Else
Log("ERROR: " & j.ErrorMessage)
End If
If res.Rows.Size = 0 Then
InsertRecord(EditTextNameIU.Text, EditTextNumber.Text, EditTextMarcaIU.Text, Fecha, EditTextPrecio.Text, Dirx, Filenamex, EditTextDescriptionIU.Text)
End If
ProgressDialogHide
j.Release
End Sub
Sub GetRecord
Dim req As DBRequestManager = CreateRequest
Dim cmd As DBCommand = CreateCommand("selectAllItem", Null)
Wait For (req.ExecuteQuery(cmd, 0, Null)) JobDone(j As HttpJob)
ProgressDialogShow("Cargando...")
If j.Success Then
req.HandleJobAsync(j, "req")
Wait For (req) req_Result(res As DBResult)
'work with result
req.PrintTable(res)
' Log(res.Columns)
ListViewListTable.Clear
For Each row() As Object In res.Rows
Dim oBitMap As Bitmap
Dirx = row(6)
Filenamex = row(7)
oBitMap = LoadBitmap(Dirx,Filenamex)
ListViewListTable.TwoLinesAndBitmap.ImageView.Bitmap = oBitMap.Rotate(90)
ListViewListTable.AddTwoLinesAndBitmap(row(1), row(2) & " Ver mas...", oBitMap)
Next
Else
Log("ERROR: " & j.ErrorMessage)
End If
ProgressDialogHide
j.Release
End Sub
Registro conectado a: Xiaomi Mi 9T
--------- beginning of system
--------- beginning of main
** Activity (insertandupdate) Pause, UserClosed = true **
** Activity (main) Create, isFirst = false **
** Activity (main) Resume **
Tag: null, Columns: 9, Rows: 1
Id Name numero marca data price dir filename description
13 RAFA BRAVO 7655 GARMÍN 25€ ContentDir content://com.miui.gallery.open/raw/%2Fstorage%2Femulated%2F0%2FDCIM%2FCamera%2FIMG_20201113_053223.jpg Correa rota.
** Activity (main) Pause, UserClosed = true **
** Activity (viewandedit) Create, isFirst = true **
** Activity (viewandedit) Resume **
Tag: null, Columns: 9, Rows: 1
Id Name numero marca data price dir filename description
13 RAFA BRAVO 7655 GARMÍN 25€ ContentDir content://com.miui.gallery.open/raw/%2Fstorage%2Femulated%2F0%2FDCIM%2FCamera%2FIMG_20201113_053223.jpg Correa rota.
viewandedit$ResumableSub_GetSelectedRecordresume (java line: 551)
java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at b4a.mySQL.viewandedit$ResumableSub_GetSelectedRecord.resume(viewandedit.java:551)
at anywheresoftware.b4a.BA.checkAndRunWaitForEvent(BA.java:267)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:207)
at anywheresoftware.b4a.keywords.Common$11.run(Common.java:1178)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6861)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
viewandedit$ResumableSub_GetSelectedRecordresume (java line: 551)
java.lang.NumberFormatException: empty String
Dirx = row(6)
Filenamex = row(7)
oBitMap = LoadBitmap(Dirx,Filenamex)
'Good example. Use.
Sub DownloadImage(Link As String, iv As ImageView)
Dim job As HttpJob
job.Initialize("", Me) 'note that the name parameter is no longer needed.
job.Download(Link)
Wait For (job) JobDone(job As HttpJob)
If job.Success Then
iv.SetImage (job.GetBitmap) 'replace with iv.Bitmap = job.GetBitmap in B4A / B4i
End If
job.Release
End Sub
Te refieres al evento click del ListView? No tengo demasiado, simplemente una llamada al módulo donde muestro en lavels y un imageView todos los datos subidos.En relación al error que te da, entiendo que pone "Broken Link" (lo ha traducido como correa rota).
¿Qué código tiene el evento _click de tu imageview?
Lo de correa rota no se si tiene relación pero una de las columnas que añado es la de averías del producto y en el ejemplo puse precisamente eso "correa rota."En relación al error que te da, entiendo que pone "Broken Link" (lo ha traducido como correa rota).
¿Qué código tiene el evento _click de tu imageview?
Ah, es cierto, lo indicabas arriba.Pero al hacer click sobre ese ListView, refrescar la aplicación o cualquier otro movimiento, la aplicación falla. Este es el log:
Aquí creo que deberías comprobar primero si la imagen existe:oBitMap = LoadBitmap(Dirx,Filenamex)
If File.Exists(Dirx, Filenamex) Then
oBitMap = LoadBitmap(Dirx,Filenamex)
else
Log("La imagen no existe, asignar una imagen tipo 'Img no encontrada'")
End If
Dirx = row(6)
Filenamex = row(7)
If File.Exists(Dirx, Filenamex) Then
Dim oBitMap As Bitmap
oBitMap.Initialize(Dirx,Filenamex)
oBitMap = LoadBitmap(Dirx,Filenamex)
ListViewListTable.AddTwoLinesAndBitmap(row(1), row(2) & " Ver mas...", oBitMap.Rotate(90))
Else
Log("La imagen no existe, asignar una imagen tipo 'Img no encontrada'")
End If
Ya comentaba oparra algo al respecto. ContentChooser te puede devolver una ruta física de tu teléfono, pero también un enlace a google Drive si seleccionas una imagen de ahí, y cosas asíEsta tratando de leer una imagen de una URL
Hola José referente al enlace que me pasaste en el otro hilo:
ContentChooser Example (select image at phone)
Here is a ContentChooser Example project to choose a image at phone for use in a activity with image view. it works with B4A 9.x and Android 8.1 https://www.b4x.com/android/help/phone.html#contentchooser https://wiki.selfhtml.org/wiki/MIME-Type/Übersichtwww.b4x.com
Decirte que ya lo utilizo, en el activity donde inserto y actualizo datos al mySQL uso ese código para añadirle a un imageView la imagen de la galería. Puedo iniciar un bitmap en contentchooser y pasarlo a los los demás activitys? Maine por ejemplo?