Android sqlite db将数据加载到服务器并截断

时间:2013-09-27 19:55:19

标签: android sqlite sync

我编写了一个应用程序,可以在sqlite db中保存一些数据。我想定期将此数据发送到服务器,然后在sqlite中截断表(以便应用程序不会填满设备上的空间)。

我正在使用SQLiteOpenHelper的singleton对象(我​​读过它是线程安全的)。

所以我的问题是 - 以下代码看起来没问题 -

SQLiteOpenHelper openHelper = MyDBOpenHelper.getInsance();
SQLiteDatabase database = openHelper.getWritableDatabase();
database.beginTransaction();
Cursor cursor = database.rawQuery(SELECT_ALL_TABLE1_STMT, null);

while( cursor.moveToNext()) {
  // save result in tmp list/buffer
}

database.execSQL(DELETE_ALL_TABLE1_STMT);
database.endTransaction();
database.setTransactionSuccessful();

// send data to server
// and repeat the process for rest of the tables.

如果有另一个线程试图写入同一个表(我正在阅读并稍后将被截断),那么上述代码是否可以处理该场景?

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要从此处获得更多输入:

当然还有AsyncTask。