如何从 Realm 对象服务器读取数据?

How to read data from a Realm Object server?

我有领域对象服务器,我创建了一个新领域并将其命名为 Test。我在其中创建了一个新的 table,名为 Water

这是我的网址:

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

这是我尝试从 Water 中读取数据的代码 table:

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 个结果,但我很确定服务器上有数据,因为我是手动输入的。

有人可以帮忙吗?

您需要等待查询完成。您是否尝试过添加 RealmChangeListener?

仅异步查询 return 一段时间后。

如果那行不通,我会告诉您将 waitForInitialRemoteData()Realm.getInstanceAsync 结合使用。