如何从 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
结合使用。
我有领域对象服务器,我创建了一个新领域并将其命名为 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
结合使用。