动态添加大量图像到SQLite Database Android

时间:2018-06-14 01:14:47

标签: android database image sqlite android-image

我希望你很好。 我正在开发一个必须从sqlite数据库中检索图像的应用程序,对于每一行我都有一个图像(使用明显的blob作为类型),我想知道我是否不仅可以添加一个图像而且很多,而不知道如何用户想要添加的图像很多,例如:User1想要向数据库添加3个图像。 User2 5图像等。我该如何存放?有一种Blob []还是什么?如果可能的话,我如何从galery中选择多个图像? 我不习惯用英语发帖,所以我希望我解释得很好^^'。 谢谢。

1 个答案:

答案 0 :(得分:0)

将图像作为base64字符串保存在列表中,如:

String img1 = Base64.encode(value_of_image, Base64.DEFAULT);
.
.
.
String img25 = Base64.encode(value_of_image, Base64.DEFAULT);

List<String> imagesListActivity = new ArrayList();
imagesList.add(img1);
.
.
.
imagesList.add(img25);

并且在helper类的save方法中,你可以这样做:

public void saveImageList(List<String> images){
    ContentValues cv = new ContentValues();
    for(int i = 0; i < images.length; i++){
        cv.put(COL_NAME, images[i);
    }
}

并在活动类中,通过传递如下的实际列表来尝试:

DBHelper dbHelper = new DBHelper();
dbHelper.saveImageList(imagesList);