android - 如何从 byte[] 创建 Drawable ? (安卓)

标签 android bytearray type-conversion drawable

我有一个字节数组,我需要将其转换为 Android Drawable。如何执行此转换?

这是我尝试但没有成功的方法:

byte[] b = getByteArray();
ByteArrayInputStream is = new ByteArrayInputStream(b);
Drawable drw = Drawable.createFromStream(is, "articleImage");

drw 始终为空!

编辑:

我的 byte[] 实际上已损坏/不完整,这就是问题所在。

最佳答案

如果您的 byte[] b 包含图像数据,那么您也可以试试这个,

 Drawable image = new BitmapDrawable(BitmapFactory.decodeByteArray(b, 0, b.length));

编辑

现在不推荐使用不带资源的 BitmapDrawable 构造函数,因此请改用它:

Drawable image = new BitmapDrawable(getResources(),BitmapFactory.decodeByteArray(b, 0, b.length));

试试这个,让我知道会发生什么,

关于android - 如何从 byte[] 创建 Drawable ? (安卓),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8357309/

相关文章:

javascript - 如何在 PHP 中防止 echo 并获取它里面的内容?

java - 以 5 秒、4 秒、3 秒的间隔调用函数

c# - 从 SqlDataReader 获取 byte[]?

c# - 将 T 转换为 bool,反之亦然

Android 2.2 SDK - 位图图像调整大小 nullPointerException

android - 使用 OpenGl 和触摸屏功能视觉校正旋转

python - python中的十六进制字符串到字节数组

c# - ASCIIEncoding.GetString(byte[]) 之后表示空字节的字符是什么?

c - 在 C 中在运行时获取变量的类型

swift - 从字符串转换为二进制,然后转换为 base64 格式