Как читать данные с сервера Realm Object? - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть сервер Realm Object, и я создал новое Realm и назвал его Test . Внутри я создал новую таблицу под названием Вода .

Вот мои URL:

public static final String AUTH_URL = "https://" + INSTANCE_ADDRESS + "/auth";
public static final String REALM_URL = "realms://" + INSTANCE_ADDRESS + "/Test";

Вот мой код, который я пытаюсь прочитать из таблицы Water:

SyncCredentials credentials = SyncCredentials.nickname(UUID.randomUUID().toString(), true);
SyncUser.logInAsync(credentials, AUTH_URL, new SyncUser.Callback<SyncUser>() {
  @Override
  public void onSuccess(SyncUser user) {
    SyncConfiguration syncConfiguration = new SyncConfiguration.Builder(user, Constants.REALM_URL)
        .build();
    Realm realm = Realm.getInstance(syncConfiguration);
    results = realm.where(Water.class).findAllAsync();
    callback.onSyncedUser(user.getIdentity());
  }
  @Override
  public void onError(ObjectServerError error) {
    callback.onRealmError(error.getErrorMessage());
  }
});

Проблема в том, что я всегда получаю 0 результатов, но я совершенно уверен, что у меня есть данные на сервере, так как я ввел их вручную.

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 09 ноября 2018

Вам нужно дождаться завершения запроса. Вы пытались добавить RealmChangeListener?

Асинхронные запросы возвращают только через некоторое время .

Если бы это не сработало, я бы сказал вам использовать waitForInitialRemoteData() в сочетании с Realm.getInstanceAsync.

...