Ошибка при вставке данных BLOB-объектов в SQLite на Android - PullRequest
1 голос
/ 22 февраля 2012

Я хочу сохранить данные BLOB-объектов в sqlite. Это добавляет imageData как ноль, хотя блок имеет значение.Что я должен положить значение блока в sql?

String x = getResultAsOnlyValue("soapImage", xdata);
byte[] bloc = Base64.decode(x, Base64.DEFAULT);
Bitmap bmp = BitmapFactory.decodeByteArray(bloc,0,bloc.length);
SQLiteStatement statement =  db.compileStatement("insert into ImageTable (imageData) values(?)"); 
statement.bindBlob(0, bloc); 
statement.execute();

Ответы [ 2 ]

1 голос
/ 24 февраля 2012

РЕДАКТИРОВАНИЕ: ОТВЕТ НА ВОПРОС

String x = getResultAsOnlyValue("soapImage", xdata);
byte[] bloc = Base64.decode(x, Base64.DEFAULT);
Bitmap bmp = BitmapFactory.decodeByteArray(bloc,0,bloc.length);
SQLiteDatabase db = getDb();
ContentValues values = new ContentValues();
values.put("ImageData", bloc);
db.insert("imageTable", null, values);

После этой операции, если вы получаете сообщение об ошибке NS_ERROR_FILE_CORRUPTED при попытке запустить базу данных через sqlitemanager, это означает, что вам нужно обновить базу данных до sqlite3. В этой ссылке рассказывается, как это сделать.

0 голосов
/ 22 февраля 2012

Доброе утро, попробуйте этот ответ: Преобразовать Drawable в BLOB Datatype

Я думаю, это то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...