如何使用putExtra / setExtra获取blob数据?

时间:2015-03-20 07:03:06

标签: android image imageview blob

我试过这段代码。哪里错了?

在第一项活动中:

Cursor cursor = dbhelper.getdata(Adapter.KEY_RID, _id);
Intent intent = new Intent(this, SecondActivity.class);
   intent.putExtra("image",getImage(d.getBlob(d.getColumnIndex(DbAdapter.KEY_IMG))));
//intent.putExtra("image",d.getBlob(d.getColumnIndex(DbAdapter.KEY_IMG)));

在第二项活动中:

ImageView iv = (ImageView) findViewById(R.id.img);
iv.setImageBitmap(getIntent().getStringExtra("image"));
//iv.setImageBitmap(getImage(getIntent().getStringExtra("image")));

并获取图片:

 public static Bitmap getImage(byte[] image) {
        return BitmapFactory.decodeByteArray(image, 0, image.length);
    }

1 个答案:

答案 0 :(得分:0)

将您的意图中的图片路径作为intent.putExtra("ImagePath","YOUR_IMAGE_PATH_OR_URL");传递到下一个活动。 然后在下一个活动(例如getIntent().getStringExtra("ImagePath"))上获取图像路径并执行您想要的任务。

将整个图像或图像的字节数组放在意图中并不是一个好方法。

希望它对你有所帮助。