解析匿名实用程序:如何只创建一个用户?

时间:2014-10-28 16:43:37

标签: java android parse-platform

我有一个简单的问题。我正在尝试在我的应用程序中启用自动用户创建,这样当您第一次打开它时,就会创建一个且只有一个用户。我彻底阅读了用户文档,发现Parse将用户会话保留在磁盘上,并且一旦将对象保存到该用户,该用户就会保存在云端。但是,我注意到了两个问题:

1)当我保存对象并创建指向所有者用户的指针时,云上不存在用户对象。

2)如果我检查当前用户是否使用ParseAnonUtils.isLinked()进行链接,则有时会返回true,因为当前用户已链接,或者为false,因为当前用户未链接,因此相同在会话中缓存的ParseUser。

以下是我用来创建和确定用户的方法:

private void getUser() {
    if (!ParseAnonymousUtils.isLinked(ParseUser.getCurrentUser())) {
        Log.v("Miles", "new user");
        ParseAnonymousUtils.logIn(new LogInCallback() {

            @Override
            public void done(final ParseUser user, ParseException e) {
                if (e == null) {
                  user.setUsername(UUID.randomUUID().toString());
                  user.setPassword(UUID.randomUUID().toString());
                  user.signUpInBackground(new SignUpCallback() {

                    @Override
                    public void done(ParseException e) {
                        if (e == null) {
                            user.saveInBackground(new SaveCallback() {

                                @Override
                                public void done(ParseException e) {
                                    if (e == null) {
                                        Log.v("Miles", "user saved");
                                    } else {
                                        Log.v("Miles", "user not saved " + String.valueOf(e.getCode()));
                                    }
                                }

                            });
                        } else {
                            Log.v("Miles", "signup fail " + String.valueOf(e.getCode()));
                        }
                    }
                  });
                } else {
                    Log.v("Miles", "anon login fail " + String.valueOf(e.getCode()));
                }
            }
        });
    }
}

非常感谢帮助。

0 个答案:

没有答案