【发布时间】:2017-06-19 07:23:23
【问题描述】:
我想按顺序执行以下方法。这意味着,如果 A 方法结束,则 B 开始。如果 B 结束 C 开始等等。
public void InitializeAPI {
public static void init_A(Context mContext) {
Realm.init(mContext);
Realm realm = Realm.getDefaultInstance();
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
// Some working is here.
}
}, new Realm.Transaction.OnSuccess() {
// Some proceesing lines are here.
}, new Realm.Transaction.OnError() {
Log.d("AsyncTransaction", "ERROR");
});
// And there are lots of other TransactionAsync() line in this methods.
}
public static void init_B(Context mContext) {...}
public static void init_C(Context mContext) {...}
// and So many initialize methods.
}
如您所见,当我执行init_A(Context) 时,Async Transaction 将在后台运行。
但问题是init_B需要在init_A结束后执行。 init_C 也。我该如何设计这件事??
当然,我知道有Realm.Transaction.OnSuccess() 但是,如果我在Realm.Transaction.OnSuccess() init_A 写init_B,我认为代码不会整洁或对维护不好。
【问题讨论】:
标签: java android android-asynctask transactions realm