我一直在尝试在我的Android应用程序中进行注册/登录表单,并且我一直在尝试通过将用户信息存储为对象而在Parse Core的帮助下这样做。
我已经完成了一切工作。嗯......差不多了。
我现在唯一需要做的就是为每个注册用户添加一个唯一的用户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();
}
}
});
感谢您的时间。
答案 0 :(得分:1)
当您编写ParseObject user = new ParseObject("Users");
时,您正在定义表格的新行,因此,如果您拨打increment()
,则会增加该行的值。
如果你想做些不同的事情,我可以帮助你。答案根据您的要求而有所不同:
和为什么你想要这样做。请注意,每个用户在objectId
字段中都已经一个唯一标识符,这对大多数(如果不是全部)应用程序都有帮助。
好的,现在我已经看到了你的第二个截图,并了解你想要实现的目标。这肯定是可能的,但我会劝阻它。例如,让我们说你设法编写工作代码。如果......会发生什么:
userID = 1的用户是否删除了自己的帐户?您是否要缩小之后注册的所有用户的userID(userID = 2,3,...)?这很难,而且大多没用。
两个或多个用户同时注册?这将确定严重的同步问题,您最终可能会有两个(或更多)具有相同用户ID的用户。
所以我的答案是:你想要的只有辛勤工作才有可能,而且可能毫无用处。如果您提供有关您为什么要这样做的其他信息,我们可以找到更好的方法。