微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Parse Android中登录用户名和电子邮件

我需要实现这个,我想要检查两次,电子邮件用户名,所以,我想如果我做一个正常的查询并检查两次,确实有效,但这是一个错误,因为当我试图检查密码字段时,它是一个问题.

我从解析博客看到了这个答案,但这不是我需要的.我认为是可能的.

Link

解决方法:

根据您的原始问题和评论,这是我建议的.您似乎想要让用户输入电子邮件用户名以及他们的密码来登录.您的数据库需要这两个字段都是唯一的.

如果你有Parse,我仍然不清楚为什么你使用一个单独的User表,但是,假设你只是使用Parse User对象,我们继续.

在Parse中,您需要以标准方式注册用户

ParseUser user = new ParseUser();
user.setUsername("my name");
user.setPassword("my pass");
user.setEmail("email@example.com");

user.signUpInBackground(new SignUpCallback() {
  ...
});

Parse will automatically check that the email and username are unique给你.

然后,要使用用户名或电子邮件登录,您需要在登录前编写一些查询.这将交换电子邮件用户名,然后使用用户输入的用户名和密码登录.

// If the entered username has an @, assume it is an email
String username = "bob@example.com";

if (username.indexOf("@")) {
  ParseQuery<ParseUser> query = ParseUser.getQuery();
  query.whereEqualTo("email", username);
  query.getFirstInBackground(new GetCallback<ParSEObject>() {
      public void done(ParSEObject object, ParseException e) {
          if (object == null) {
              Log.d("score", "The getFirst request Failed.");
          } else {
               String actualUsername = object.get("username");
               ParseUser.logInInBackground(actualusername, "showmethemoney", new LogInCallback() {
                 ...
               });
          }
      }
   });
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐