Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Insert image into Realm database in Android

Tags:

android

realm

I'm writing an Android application and I would like to save the profile image of an account locally in a Realm database. I can't find any documentation about that. How can I do that?

like image 851
redblood Avatar asked Mar 17 '16 07:03

redblood


1 Answers

First, convert bitmap to byte array

Bitmap bmp = intent.getExtras().get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();

Later, save byte[] into Realm

Notice: Strings and byte arrays (byte[]) cannot be larger than 16 MB (from Realm Documentation)

Field types

Realm supports the following field types: boolean, byte, short, ìnt, long, float, double, String, Date and byte[]. The integer types byte, short, int, and long are all mapped to the same type (long actually) within Realm. Moreover, subclasses of RealmObject and RealmList are supported to model relationships.

like image 129
toantran Avatar answered Oct 18 '22 10:10

toantran