当前位置: 代码迷 >> Android >> 解析增量功能不会超过1
  详细解决方案

解析增量功能不会超过1

热度:54   发布时间:2023-08-04 11:01:44.0

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

我已经使一切正常工作。 好吧...差不多。

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

我尝试使用Users.increment("userID", 1); ,并且有效,但不会超过值1

这就是我想要做的:

这是我的注册表格代码:

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();
        }
    }
});

感谢您的时间。

当您编写ParseObject user = new ParseObject("Users"); 您正在定义表的新行,因此,如果调用increment() ,则将仅增加该行的值。

如果您想做其他事情,我可以为您提供帮助。 根据您要做什么,答案是不同的:

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

以及为什么要这么做。 请注意,每个用户在objectId字段中已经具有唯一的标识符,这对于大多数(如果不是全部)应用程序很有用。


好的,现在我已经看到了您的第二个屏幕截图,并了解了您要实现的目标。 当然可以,但是我不建议这样做。 例如,假设您设法编写了工作代码。 如果..会发生什么:

  • 用户ID = 1的用户是否删除其帐户? 您是否要按比例缩小之后注册的所有用户的userID(userID = 2、3,...)? 那很难,而且几乎没有用。

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

所以我的答案是:只有通过努力才能实现您想要的东西,并且可能毫无用处。 如果您提供有关为什么要这样做的其他信息,我们可以找到一种更好的方法。

  相关解决方案