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

时间:2018-11-09 10:24:24

标签: android realm realm-mobile-platform

我有Realm Object服务器,并且创建了一个新的Realm,并将其命名为 Test 。我在其中创建了一个名为的新表。

这是我的网址:

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

这是我要从水表读取数据的代码:

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 :(得分:1)

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

异步查询只会在一段时间后返回

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