Guten Abend liebe Community,
auch ich wende mich mal wieder mit einer Frage an euch
Mein Anliegen ist es, ein Bild als Bytearray in der Android SQLite zu speichern. (Ja ich könnte es auch ins Filesystem packen, aber ich kann eben auch die DB nehmen :P)
Der Quellcode dazu sieht so aus:
public static int editListEntry(Context context, String column, int id, byte[] image) {
ContentValues editedValues = new ContentValues();
editedValues.put(column, image);
return context.getContentResolver().update(DatabaseProvider.CONTENT_URI,
editedValues, Columns.COL_ID + " = ?", new String [] { String.valueOf(id) });
}
Ich mache das über update, weil zur Zeit der Erstellung des Datenbankeintrags die Bilder noch nicht zur Verfügung stehen.
Mein Problem ist nun, dass der Rückgabewert 0 ist und nicht 1. Bei einem Test ob die Bilder in der DB sind, ergab sich auch das nichts geupdated wurde.
Ich weiß einfach nicht wieso, es kommt auch keine Fehlermeldung.
Der Parameter "id" ist die ID des Datenbankeintrags der geupdated werden soll.
Die Variable image enthält das Bytearray des Bildes, welches mit dieser Methode ermittelt wurde:
private byte[] getByteArray(Bitmap bmp) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
return stream.toByteArray();
}
Hat von euch einer eine Idee warum der returnwert von editListEntry 0 beträgt?
LG.
ChampS