我解码时位图为空?

时间:2013-10-30 10:39:33

标签: android bitmap bytearray bitmapfactory

byte[] imageInByte;
ImageView iViewAddImage;

if (imageInByte.length>0) {
   Bitmap bitmap = BitmapFactory.decodeByteArray(imageInByte, 0, imageInByte.length);
   iViewAddImage.setImageBitmap(bitmap);
 }

我收到BitmapnullimageInByte.length=20621

出错了什么。 Sugesst me?

编辑1:

public void insertImage(byte[] imageInByte2) 
{
    if(sqliteDb != null)
    {
        try {
             sqliteDb.insert("database",null,getDataValues(imageInByte2));
        } catch(Exception e) {
            e.printStackTrace();
        }
    }   
}

   private ContentValues getDataValues(byte[] imageInByte2){
    ContentValues contentValues = new ContentValues();

    try {
        contentValues.put("image",imageInByte2);

    } 
    catch (Exception e) {
        e.printStackTrace();
    }   
    return contentValues;
  }

1 个答案:

答案 0 :(得分:0)

这可能会对你有所帮助

byte imageinbyte[];
bitmap bmp;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
                bmp.compress(Bitmap.CompressFormat.JPEG, 100, bos);
                imageInByte = bos.toByteArray();

您可以直接设置图像视图背景

ImageView.setImageBitmap(bmp);|