0
我使用ormlite为Android,我有以下型号Ormlite图片更新问题
@DatabaseTable(tableName = DatabaseConstants.TABLE_ARTICLE)
public class ArticleModel {
@DatabaseField(generatedId = true, columnName = DatabaseConstants.ARTICLE_ID)
public int id;
@DatabaseField(columnName = DatabaseConstants.ARTICLE_NAME)
public String name = "";
@DatabaseField(columnName = DatabaseConstants.ARTICLE_IMAGE_URL)
public String imageUrl = "";
@DatabaseField(columnName = DatabaseConstants.ARTICLE_IMAGE,dataType= DataType.BYTE_ARRAY)
public byte[] image;
有可能如下更新的图像:
ContentValues cv = new ContentValues();
cv.put(DatabaseConstants.ARTICLE_IMAGE, UtilBitmap.bitmapToByteArray(bitmap));
SQLiteDatabase sqLiteDatabase = this.baseHelper.getWritableDatabase();
sqLiteDatabase.update(DatabaseConstants.TABLE_ARTICLE, cv,
DatabaseConstants.ARTICLE_MOBILE_IMAGE_URL + "= ?", new String[]{url});
不过是有一个ormlite方法更新到除以下代码以外的字节数组:
updateBuilder.updateColumnValue(DatabaseConstants.ARTICLE_IMAGE,imageBytes);
updateBuilder.where().eq(DatabaseConstants.ARTICLE_MOBILE_IMAGE_URL, url);
问题是可以更新图像u歌唱前一种方式,但不采用后一种方式,即使用后一种方式时,图像未正确存储在数据库中。我使用sqliteviewer来检查图像是否存储,并使用后一种方法失败。有没有更好的方法来更新字节数组(图像)使用“ormlite”?
我的回答有些帮助吗?如果是的话,我会很感激+1和接受。 – Gray 2012-02-25 18:54:08