Italian Visualizzare campo BLOB in una griglia

Silpolo

Member
Buonasera, stò cercando di creare la mia prima app ed avrei una domanda.
Leggo i dati da una tabella di un database che contiene anche una campo BLOB e vorrei visualizzarla in una griglia scorrevole per poter effettuare delle ricerche rapide.
Se utilizzo Webview non so come visualizzare l'immagine (l'errore riportato è : Unable to convert BLOB to string ).
Potete aiutarmi ???
O almeno consigliarmi una libreria che possa fare al mio caso ????

Grazie a tutti
 

udg

Expert
Licensed User
Longtime User
Punta su B4XTable o FexibleTable per il ruolo di "griglia".
Per il BLOB (che presumo contenga un'immagine), devi prima riconvertire l'insieme di byte contenuti nel campo in un'immagine e poi passare quella alla griglia. Proprio di recente hanno mostrato pezzetti di codice a questo riguardo nel forum internazionale. Se non riesci a trovarli, facci sapere (comunque si tratat di quattro righe..)
Qui un esempio.
 
Last edited:

Silpolo

Member
Grazie mille. Ho provato Flexible Table e mi piace molto, solo non riesco a capire come caricare la mia immagine
 

Silpolo

Member
Avrei alcune domande.
1) - E' possibile visualizzare una immagine contenuta in un database (BLOB) all'interno della griglia ???
2) - Qualcuno sa indicarmi come recuperare l'immagine ??? Io non riesco proprio a visualizzarla neanche in una imageview
 

udg

Expert
Licensed User
Longtime User
Ciao, per il punto 2, seguendo il link che ti avevo fornito, le due righe che ti interessano sono:
B4X:
Dim buffer() As Byte =cursor1.GetBlob("FLAG")
iv.SetBitmap(BytesToImage(buffer))
La prima legge il contenuto del campo FLAG, un BLOB, in un array di byte
La seconda converte quell'array di byte in un'immagine e la passa come bitmap per una imageview (iv)

In merito alla tua prima domanda, non avendo finora avuto occasione di utilizzare la FlexibleTable, ti rimanderei ai booklet di Klaus, al thread di presentazione della stessa o, anche, ad una specifica domanda da porre sul forum internazionale (ricorda di citare da subito FlexibleTable).

Nota: ovviamente è importante che nel BLOB l'immagine sia stata salvata come pura sequenza di byte e non, ad esempio, come stringa Base64. In caso contrario bisogna operare correttamente sui dati ricavati dal BLOB invertendo le operazioni di "codifica".
 

Sagenut

Expert
Licensed User
Longtime User
Purtroppo credo che non ci stai riuscendo perchè non è possibile.
La Flexible Table è composta solo da Labels, da quello che scrivono quì:
Flexible Table Pictures
 
Top