1

我正在开发一个离线应用程序,但我没有从用户的图库中获取任何图片。但我想向我手动插入的用户显示图像。

我能想到的唯一解决方案是将这些图像放入drawable,然后将其保存到 sqlite 数据库(我不确定如何)。这可以做到吗?

谢谢你。

4

2 回答 2

1

如果您愿意将图像存储在可绘制文件夹中,您可以在数据库中存储对它们的引用。只需存储一个类似的字符串com.example.yourapp:drawable/imagefilename并使用它来显示图像,其中yourString包含来自数据库的字符串..

int imageResource = this.getResources().getIdentifier(yourString, null, null);
yourimageview.setImageResource(imageResource);
于 2012-11-29T16:46:12.757 回答
0

您可以为此使用插入 blob

    public void insertImg(int id , Bitmap img ) {   


    byte[] data = getBitmapAsByteArray(img); // this is a function

    insertStatement_logo.bindLong(1, id);       
    insertStatement_logo.bindBlob(2, data);

    insertStatement_logo.executeInsert();
    insertStatement_logo.clearBindings() ;

}

 public static byte[] getBitmapAsByteArray(Bitmap bitmap) {
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.PNG, 0, outputStream);       
    return outputStream.toByteArray();
}
于 2017-05-12T12:06:52.877 回答