Android Requêtes asynchrones


Exemple

Chaque méthode de requête synchrone (telle que findAll() ou findAllSorted() ) a un équivalent asynchrone ( findAllAsync() / findAllSortedAsync() ).

Les requêtes asynchrones déchargent l'évaluation de RealmResults sur un autre thread. Pour recevoir ces résultats sur le thread en cours, le thread en cours doit être un thread looper (lisez: les requêtes asynchrones ne fonctionnent généralement que sur le thread d'interface utilisateur).

RealmChangeListener<RealmResults<SomeObject>> realmChangeListener; // field variable

realmChangeListener = new RealmChangeListener<RealmResults<SomeObject>>() {
    @Override
    public void onChange(RealmResults<SomeObject> element) {
        // asyncResults are now loaded
        adapter.updateData(element);
    }
};

RealmResults<SomeObject> asyncResults = realm.where(SomeObject.class).findAllAsync();
asyncResults.addChangeListener(realmChangeListener);