解析增量功能不会增加值1

时间:2015-10-22 10:12:12

标签: java android parse-platform

我一直在尝试在我的Android应用程序中进行注册/登录表单,并且我一直在尝试通过将用户信息存储为对象而在Parse Core的帮助下这样做。

我已经完成了一切工作。嗯......差不多了。

我现在唯一需要做的就是为每个注册用户添加一个唯一的用户ID,并在每次新用户注册时将其递增1。

我已尝试使用Users.increment("userID", 1);,但它确实有效,但它没有超过值1

enter image description here

这就是我要做的事情:

enter image description here

这是我的注册表格代码:

ParseObject Users = new ParseObject("Users");
Users.increment("userID", 1);
Users.put("first_name", firstname);
Users.put("last_name", lastname);
Users.put("email", email);
Users.put("password", password);
Users.saveInBackground(new SaveCallback() {
    @Override
    public void done(ParseException e) {
        if (e == null) {
            //User registered successfully.
            Toast.makeText(RegisterActivity.this, "Registration successful."
                    , Toast.LENGTH_SHORT).show();
            //Take user to LoginActivity.
            startActivity(new Intent(RegisterActivity.this, LoginActivity.class));
        } else {
            //User registration failed.
            Toast.makeText(RegisterActivity.this, "Registration failed."
                    , Toast.LENGTH_SHORT).show();
            //Show error.
            e.printStackTrace();
        }
    }
});

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

当您编写ParseObject user = new ParseObject("Users");时,您正在定义表格的新行,因此,如果您拨打increment(),则会增加该行的值。

如果你想做些不同的事情,我可以帮助你。答案根据您的要求而有所不同:

  • 保留用户总数;
  • 为每个用户添加唯一标识符;
  • ...

为什么你想要这样做。请注意,每个用户在objectId字段中都已经一个唯一标识符,这对大多数(如果不是全部)应用程序都有帮助。

好的,现在我已经看到了你的第二个截图,并了解你想要实现的目标。这肯定是可能的,但我会劝阻它。例如,让我们说你设法编写工作代码。如果......会发生什么:

  • userID = 1的用户是否删除了自己的帐户?您是否要缩小之后注册的所有用户的userID(userID = 2,3,...)?这很难,而且大多没用。

  • 两个或多个用户同时注册?这将确定严重的同步问题,您最终可能会有两个(或更多)具有相同用户ID的用户。

所以我的答案是:你想要的只有辛勤工作才有可能,而且可能毫无用处。如果您提供有关您为什么要这样做的其他信息,我们可以找到更好的方法。