21 votes

byte[] vers l'image Android

Mon problème est le suivant : J'ai stocké quelques images dans la base de données sqlite, en utilisant le format blob, ce qui semble fonctionner correctement. Maintenant, je veux sortir mes images de la DB et les remettre en images... pour compliquer le tout, leur format est variable (png, jpg, peut-être quelque chose d'autre, je ne suis pas sûr). Y a-t-il un moyen de le faire dans Android ?

Merci.

53voto

systempuntoout Points 27584

Utilisez BitmapFactory.decodeByteArray() méthode :

byte[] blob=c.getBlob("yourcolumnname");
Bitmap bmp=BitmapFactory.decodeByteArray(blob,0,blob.length);
ImageView image=new ImageView(this);
image.setImageBitmap(bmp);

Regardez ce aussi.

4voto

Daniel Lew Points 39063

4voto

Je préfère convertir directement le tableau d'octets en Drawable. C'est le meilleur format à utiliser dans Android. Les bitmaps généraient des fuites dans le passé.

Drawable d = Drawable.createFromStream(new ByteArrayInputStream(ARRAY_BYTES), null);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X