我使用for循环来保存Realm。广告订单非常重要。主线程一切正常,但我想在后台线程中保存这些数据。因此,使用多个线程会丢失插入顺序。
for (int index = 1; index < upperNumber; index++) {
saveDB(index);
}
private void saveDB(final int index) {
try {
realm.executeTransactionAsync(new Realm.Transaction() {
@Override public void execute(Realm bgRealm) {
User user = bgRealm.createObject(User.class, index);
user.setName(String.valueOf(index) + " Name");
user.setAge(index);
}
}, new Realm.Transaction.OnSuccess() {
@Override public void onSuccess() {
Log.d(TAG, "Transaction Success: " + index);
}
});
} catch (Exception e) {
Log.e(TAG, "Error during Transaction: " + e.getMessage());
}
}
有一个关于自动增量ID和插入顺序的Realm文档,但这也不适用于Async Transaction; https://realm.io/docs/java/latest/#auto-incrementing-ids
我如何保证使用异步交易的广告订单?
感谢。