バイトの配列があり、それをAndroid Drawableに変換する必要があります。この変換を実行するにはどうすればよいですか?
これが私が試したものですが成功しませんでした:
byte[] b = getByteArray();
ByteArrayInputStream is = new ByteArrayInputStream(b);
Drawable drw = Drawable.createFromStream(is, "articleImage");
drwは常にnullです!
編集:
私のbyte []は実際に破損しているか不完全でした、それが問題でした。
もしあなたの byte[] b
にはimagedataが含まれているので、これを試すこともできます。
Drawable image = new BitmapDrawable(BitmapFactory.decodeByteArray(b, 0, b.length));
[〜#〜]編集[〜#〜]
リソースのないBitmapDrawableコンストラクターは非推奨になりました。代わりにこれを使用してください。
Drawable image = new BitmapDrawable(getResources(),BitmapFactory.decodeByteArray(b, 0, b.length));
これを試して、何が起こるか教えてください、
本当にドローアブルが必要ですか?ビットマップが収まる場合は、次のようにします。
Bitmap bitmap = BitmapFactory.decodeStream(is);