Hello all - I haven't yet used LoadBitmapSample and was wondering the syntax (or if it is possible) to retrieve images directly from a SQlite database and then just sample them for the view. I currently have many images loading successfully in a ListView (in a loop), but since they are only thumbnail size in the view compared to their actual size, it would be great to free up resources. Below is a snippet where my image is retrieved from SQlite.
Dim Buffer() As Byte
Buffer = cur1.GetBlob("image")
Dim InputStream As InputStream
InputStream.InitializeFromBytesArray(Buffer, 0, Buffer.Length)
Dim Bitmap1 As Bitmap
Hi all clever people,
I hope some-one can assist me with my 'challenges' pertaining to images in SQLite BLOBs
I ran into a similar 'constraint' about BLOBs, and I have a question, but let me first briefly explain what I try to achieve...
I want to load an image from a BLOB field in a SQLite database table and display it as an image on screen.
All the samples and discussions that I read, load the bitmaps from storage and not from a database, which is not what I want to do here.
I managed to get it working but I have records in the table that may not contain an image. Therefore I need to validate if the BLOB field is Null, or I need to ensure I store a very small dummy image if an valid image is not saved and/or carry another Boolean field which indicates whether a image is present or not.
I don't want to do this unless there is no other way of validating for an empty (Null) BLOB field in the Database.
The following code works 100% if an image is present in the BLOB field:
Dim readCursor as Cursor
Dim imgBuffer as Byte
Dim imgInputStream as InputStream
Dim imgBitmap as Bitmap
Dim imgOnScreen as ImageView
... the SQL statements to populate the readCursor....
imgBuffer = readCursor.GetBlob ("ImageCol")
'before I proceed from here I want to validate if the imageBuffer is Null, because it can be empty (containing no image).
If imgBuffer = Null then ' this is what I need to get solved
'skip and don't load anything
imgInputStream.InitiaizeFromBytesArray (imgBuffer, 0, imgbuffer.Length)
imgOnScreen.Bitmap = imgBitmap
How do I validate the imgBuffer for Null value?
I tried various options for example:
Test for Null
If imgBuffer.Length < 1 then
If imgBuffer = Null then
but at runtime I get the error: java.lang.NullPointerException...
So tried to use a sub to validate:
If isNullBuffer (imgBuffer) = False then
Sub isNullBuffer (bufferValue as Object) as Boolean
If bufferValue <> Null then
... but during execution, after executing the If statement, the caret jumps straight to the End Try statement.
reached the End Sub, return a True value by default and then throw an exception on imgInputStream.InitiaizeFromBytesArray.....
How do I validate for a Null value in a BLOB or Byte?