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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...