我当前正在尝试登录以创建到领域的登录,但是由于我的logInAsync没有输入onSuccess或onError方法,所以无法访问SyncUser。 onSuccess方法返回SyncUser,但是这没有发生。我的代码是
String authURL = "https://my-realm.us1a.cloud.realm.io";
String email = "[email protected]";
String password = "testPassword";
SyncCredentials credentials = SyncCredentials.usernamePassword(email, password, true);
RealmAsyncTask task = SyncUser.logInAsync(credentials, authURL, new SyncUser.Callback<SyncUser>() {
@Override
public void onSuccess(SyncUser result) {
user = result;
}
@Override
public void onError(ObjectServerError error) {
System.out.println("failed");
}
});
String url = "realms://unbranded-metal-bacon.us1a.cloud.realm.io/~/travelin";
config = user.createConfiguration(url).build();
我在上面声明了一个私有的SyncUser用户。在最后一行,由于user为null,因此我得到了null对象引用。我没有输入onSuccess或onError的原因是什么?
最佳答案
验证网址错误,需要
String authURL = "https://my-realm.us1a.cloud.realm.io/auth";
另外,SyncUser.logInAsync()在后台运行,因此此行必须在
onSuccess()
内,否则用户将是null
config = user.createConfiguration(url).build();