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