具有回调的Realm非looper线程

时间:2016-11-06 15:25:10

标签: java android

我是Android开发人员, 我决定在我的应用程序中使用领域。

我实现了推送通知,所以当我从服务器获取推送时,我想更新数据库并在提交完成时收到通知。 我尝试了realm.executeTransactionAsync,但它完成时没有得到回调我认为它因为它是从非Looper线程打开的。 所以我试过realm.executeTransaction(Transaction,Callback) 但它在版本1.0.0上已被弃用,因此我无法使用它。

所以现在我使用的是1.0.0但是我无法理解如何在非looper线程中像服务一样获得成功回调?

1 个答案:

答案 0 :(得分:0)

首先,UI线程默认与Looper相关联。您可以致电 - realm.isAutoRefresh()查看。

根据API你可以使用:

realm.executeTransactionAsync(new Realm.Transaction() {
        @Override
        public void execute(Realm realm) {

        }
    }, new Realm.Transaction.OnSuccess() {
        @Override
        public void onSuccess() {

        }
    }, new Realm.Transaction.OnError() {
        @Override
        public void onError(Throwable error) {

        }
    });