10

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?

JorgeAmVF
  • 1,660
  • 3
  • 21
  • 32
redblood
  • 542
  • 1
  • 4
  • 19

1 Answers1

32

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.

Community
  • 1
  • 1
toantran
  • 1,789
  • 17
  • 25