好吧,我有這個Retrofit調用接收對象列表並插入本地SQLite數據庫。我想顯示一條消息,說明操作成功時使用確定按鈕,當按鈕打開新的活動時。如何知道什麼時候SQLite查詢完成
如何檢查我的查詢是否已完成,以便我可以顯示該消息?
final ContactApi contactApi = retrofit.create(ContactApi.class);
Call<List<Contact>> callContact = contactApi.getContact(token);
callContact.enqueue(new Callback<List<Contact>>() {
@Override
public void onResponse(Response<List<Contact>> response, Retrofit retrofit) {
List<Contact> contactList = response.body();
if (contactList != null) {
try {
DBHelper dbHelper = new DBHelper(TokenActivity.this, token);
SQLiteDatabase conn = dbHelper.getWritableDatabase();
RepoContact repocontact = new RepoContact(conn);
// Inserts each contact into the database
for (Contatc c : contactList) {
repositorioCadastro.inserirCadastro(c);
Log.i("ACTTOKEN", "Contact insert ID: " + c.getId());
}
} catch (SQLiteException e) {
Log.i("ACTTOKEN", "Faillure on insert: " + e.getMessage());
}
}
好了,所以我我已經添加了try {...} finally {...}塊和偵聽器,現在要測試我必須執行代碼以在SQLiteTransactionListener的onCommit()或onRollback()方法上顯示消息? – Rafael
是的。如果操作成功,它會進入finally(),然後你可以顯示消息。 –
謝謝,它的工作原理!但我想知道如何用多個查詢來做到這一點?我有另一個屏幕,使5翻新調用,並插入到5個不同的表,所以如果我在每個終端上定義一個變量,然後檢查onCommit()方法,測試將發生在每個查詢完成後,對吧? – Rafael