好吧,我有这个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