Android Question Saving Images Online/ to Database

Trinity Programming

Licensed User
Longtime User
I am making an app where users can sign in to an account and also set their own profile picture. I have the usernames and passwords saved in an online database, but I don't know how to go about saving the profile pictures. I have heard saving images (or blobs) to databases is not advisory, so I've been trying to come up with an alternative means, but I am struggling. Any help with this and some sample code would be greatly appreciated!


Trinity Programming

Licensed User
Longtime User
Since my images aren't too large, I am trying to save them on the database. However, I am still struggling to do this. This is my code so far.

Sub Globals
    Dim bmp As Bitmap
    Dim out As OutputStream
    Dim inp As InputStream
End Sub

Sub Cam_PictureTaken (Data() As Byte)
    out = File.OpenOutput(File.DirRootExternal, teamNumber.Text & ".jpg", False)
    out.WriteBytes(Data, 0, Data.Length)
    inp.InitializeFromBytesArray(Data, 0, Data.Length)
End Sub

I then save bmp to the database (in a column that is type: blob). Then this is my code to retrieve the picture. (It is inside a Select Case statement that gets the information back from the database)

    Case "GetInfo"
                Dim ListOfInfo As List
                Dim TeamNumber As String
                Dim TeamName As String
                Dim Teampic As Bitmap
                ListOfInfo = parser.NextArray
                For i = 0 To ListOfInfo.Size - 1
                        Dim T As Map
                        T = ListOfInfo.Get(i)
                        TeamNumber = T.Get("ScoutedTeam")

                        If TeamNumber = ScoutedTeam Then
                               TeamName = T.Get("TeamName")
                               TeamNumber = T.Get("ScoutedTeam")
                               Teampic = T.Get("TeamPic")     'this is the code that should get the bitmap out of the database
                               InfoLabelNum.Text = TeamNumber
                              InfoLabelName.Text = TeamName
                        End If

When I run this code, I get this error message.

java.lang.RuntimeException: Object should first be initialized (Bitmap).

So, I'm assuming the bitmap Teampic needs to be initialized, but I don't know how I should initialize it. I tried doing this


But then I got this error message.

java.lang.RuntimeException: Object should first be initialized (InputStream).

So I am confused as to what I should I do.

Am I doing this the right way by just saving the bitmap into the database or should I be saving the input/output streams into the database?

Thanks for your help
Upvote 0


Licensed User
Longtime User
EDIT: Oh, i didnt see that you are using JSON. My answer will not help then :-(

What is the type of the object when returning a blob? It is is an byte-array?
If yes you can try something like this

Dim bmp As Bitmap
            Dim In1 As InputStream
          Dim buffer() As Byte          
            buffer = cur.Get("Picture")
Upvote 0