检索参考和显示图像

时间:2014-01-29 17:26:31

标签: android image sqlite

我按照POST中提供的答案进行了操作,它基本上向我展示了如何在使用相机捕获图像后在我的数据库中存储图像。

如何根据该参考显示图像?我正在使用GridView和自定义适配器来显示这些图像

2 个答案:

答案 0 :(得分:0)

此链接可能会对您有所帮助,请查看readFromDB()方法

STORE AND READ IMAGES

从链接中获取的方法(我建议您阅读整篇文章)

 void readFromDB() {
        byte[] byteImage2 = null;
        SQLiteDatabase myDb;
        myDb = openOrCreateDatabase(DB_NAME, Context.MODE_PRIVATE, null);
        Cursor cur = myDb.query(TABLE_NAME, null, null, null, null, null, null);
        cur.moveToFirst();
        while (cur.isAfterLast() == false) {
            textView.append("\n Reading Details \n Name : " + cur.getString(1));
            cur.moveToNext();
        }

        // /////Read data from blob field////////////////////
        cur.moveToFirst();
        byteImage2 = cur.getBlob(cur.getColumnIndex("image"));
        setImage(byteImage2);
        cur.close();
        myDb.close();
        Toast.makeText(this.getBaseContext(),
                "Image read from DB successfully.", Toast.LENGTH_SHORT).show();
        Toast.makeText(this.getBaseContext(),
                "If your image is big, please scrolldown to see the result.",
                Toast.LENGTH_SHORT).show();
    }

    void setImage(byte[] byteImage2) {
        image2.setImageBitmap(BitmapFactory.decodeByteArray(byteImage2, 0,
                byteImage2.length));
        textView.append("\n Image Size : " + byteImage2.length + " KB");
    }

答案 1 :(得分:0)

试试这个

ImageView img = (ImageView)findViewById(R.id.image);
Bitmap bitmap = BitmapFactory.decodeFile(img_path);
img .setImageBitmap(bitmap);

其中img_path是数据库中存储的路径