哪个SQLite方法可以进行同步?

时间:2014-11-25 23:59:07

标签: android sqlite android-sqlite android-file

我的数据库由FileBackupHelper备份,指南说这个活动与我的应用程序中的db文件访问同步。我试图找出这是必要的。

我可以同步某些功能或所有访问权限。我考虑了三种选择:

1)仅同步数据库编辑(写入)

synchronized(MyLocks.DBLock){
    db.insert(MY_TABLE, null, contentValues);
    db.update(MY_TABLE, contentValues, KEY_ID + " = ?", new String[]{str})});
}

2)同步读取适配器中的数据库。

synchronized(MyLocks.DBLock){
    db.insert(MY_TABLE, null, contentValues);
    db.update(MY_TABLE, contentValues, KEY_ID + " = ?", new String[]{str})});

    Cursor c = db.query(true, MY_TABLE, new String[] {KEY_EC}, KEY_ID + "=" + id, null, null, null, null, null);
    if (c != null && c.getCount() > 0) {
        c.moveToFirst();
    } else{
        if(c != null)
            c.close();
        return null;
    }
    Double d = Double.valueOf(c.getDouble(c.getColumnIndex(KEY_EC)));
    c.close();
}

3)从活动打开数据库适配器的那一刻起同步所有内容。

// in an activity

DBAdapter dba = new DBAdapter(context);
synchronized(MyLocks.DBLock){
    dba.open();
    dba.doDatabaseOperation();
    dba.close();
}

哪种方法是必要的?

0 个答案:

没有答案