Android SQL Blob
我试图存储和字节数组(字节[])到数据库。 我有字节数组,内容提供者和数据库。 当我尝试插入Blob时,插入返回-1。 有人可以告诉我如何完成这件事。
插
byte[] inData = nw.receive();
ContentValues values = new ContentValues();
values.put(InDatabase.Columns.DATA, inData);
values.put(InDatabase.Columns.SIZE, inData.length);
NetService.this.getContentResolver().insert(InContentProvider.CONTENT_URI, values);
内容提供商
mDB = mDBHelper.getWritableDatabase();
Long rowId = mDB.insert(mDBHelper.tableName(), null, aValues);
数据库
@Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE table " + TABLE_NAME + "(id INTEGER PRIMARY KEY AUTOINCREMENT, data BLOB, size INTEGER);"); }
就像我说的如果我不把values.put(InDatabase.Columns.DATA, inData)
,它完美的作品。
所以实现是正确的,问题出在SQLiteDatabaseHelper上。 我没有实现onUpdate()方法。 因为我的数据库已经存在于具有不同布局的设备上(BLOB字段不存在),所以插入方法失败。
快速卸载.apk解决了这个问题。 我还可以实现onUpdate方法,以便在数据库版本更改时存在表删除或更新。
链接地址: http://www.djcxy.com/p/31961.html上一篇: Android SQL Blob
下一篇: Launch an application from another application on Android