J'utilise ormlite pour android, j'ai modèle suivantOrmlite image problème de mise à jour
@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;
Il est possible de mettre à jour une image comme suit:
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});
Mais il existe une méthode ormlite à mettre à jour le tableau d'octets autre que le code suivant:
updateBuilder.updateColumnValue(DatabaseConstants.ARTICLE_IMAGE,imageBytes);
updateBuilder.where().eq(DatabaseConstants.ARTICLE_MOBILE_IMAGE_URL, url);
Le problème est qu'il est possible de mettre à jour l'image u chantez l'ancienne façon mais n'utilisez pas cette dernière méthode, c'est-à-dire que lorsque vous utilisez cette dernière méthode, l'image n'est pas correctement stockée dans la base de données. J'ai utilisé le sqliteviewer pour vérifier si l'image est stockée, et il échoue avec la dernière méthode. est-il une meilleure approche pour mettre à jour le tableau d'octets (image) en utilisant "ormlite"?
Ma réponse a-t-elle été utile? J'apprécierais un +1 et un accepter si c'est le cas. – Gray