在字节数组

时间:2017-06-05 18:00:35

标签: android

我有一个带有默认背景的LinearLayout,但在某些情况下我需要从SQL数据库中的Blob对象的byte []数据设置自定义背景。 我已经制作了自定义适配器,但我不知道图像是如何分开的。

if (Ad.getAd_image().length > 0) {
    //Ad.getAd_image() is a byte[] object
    ad_image_layout.setBackground(???);
}

3 个答案:

答案 0 :(得分:1)

我们可以通过2种方式实现, 1.如果你有直接字节[],你可以使用

byte[] b = //your data;
Drawable image = new BitmapDrawable(getResources(), BitmapFactory.decodeByteArray(b, 0, b.length));

如果您有输入流,可以使用此

InputStream is = //your input stream;
Bitmap bitmap = BitmapFactory.decodeStream(is);

答案 1 :(得分:1)

这样做

Bitmap bitmap=BitmapFactory.decodeByteArray(Ad.getAd_image(),0,Ad.getAd_image().length);

Drawable d = new BitmapDrawable(getResources(), bitmap);

LinearLayout l;
l=(LinearLayout)findViewById(R.id.layout_id) 
l.setBackground(d);

答案 2 :(得分:0)

查看BitmapFactorydecodeByteArray方法。字节数组必须位于supported image formats之一。