当我从 SQLite 检索 blob 值时,它会给出不同的值,因为它存储在数据库中。我不知道为什么会这样。当我使用cursor.getString()
时,它给出了相同的值。但是当我使用时curser.getBlob()
,它给出了不同的价值。此外,当我将cursor.getString()
值转换为再次bytes[]
使用getBytes()
时,它会转换为存储在数据库中的不同值。
请告诉我解决方案,因为我无法找到发生这种情况的原因。
我认为您已经使用插入查询将数据插入到 sqlite 数据库中。在我看来,您应该使用以下方法插入数据以及图像。
CREATE TABLE IF NOT EXISTS " + DB_TABLE + "("+
KEY_NAME + " TEXT," +
KEY_IMAGE + " BLOB);";
ContentValues cv = new ContentValues();
cv.put(KEY_NAME, name);
cv.put(KEY_IMAGE, image);
database.insert( DB_TABLE, null, cv );
使用这个方法应该可以。如果没有,请让我知道。祝你好运。