Java 解析用户登录错误

Java 解析用户登录错误,java,android,parse-platform,Java,Android,Parse Platform,因此,在下面的代码中,我100%的时间都会遇到以else语句结束的问题,即使我的登录参数对于我创建的各种测试帐户都是正确的 View.OnClickListener loginListener = new View.OnClickListener() { String usernameVal_login = usernameEditText_login.getText().toString(); String passwordVal_login = passwo

因此,在下面的代码中,我100%的时间都会遇到以else语句结束的问题,即使我的登录参数对于我创建的各种测试帐户都是正确的

View.OnClickListener loginListener = new View.OnClickListener() {

        String usernameVal_login = usernameEditText_login.getText().toString();
        String passwordVal_login = passwordEditText_login.getText().toString();

        @Override
        public void onClick(View view) {

            ParseUser.logInInBackground(usernameVal_login, passwordVal_login, new LogInCallback() {
                @Override
                public void done(ParseUser user, com.parse.ParseException e) {
                    if (user != null) {
                        Intent intent = new Intent(WelcomeActivity.this, FunFactsActivity.class);
                        startActivity(intent);
                    } else {
                        Toast.makeText(WelcomeActivity.this, "There was an unexpected error.", Toast.LENGTH_LONG).show();
                    }
                }
            });
        }
    };
你知道为什么当我输入正确的参数登录时它不让我登录吗

编辑:

返回错误:


09-09 03:14:43.691 18687-18687/com.example.khaube.funfacts W/System.err﹕ com.parse.ParseException:无效的登录凭据

回答


结果证明这是一个逻辑错误。变量没有被设置为onClick,因为它们在侦听器中,但不在方法本身中……我真傻。谢谢各位的建议

根据日志,您的凭据(用户名/密码)可能有误。

您尝试过这种方法吗?我想你读文本太早了。您在创建侦听器时读取凭据,而不是在单击登录按钮时读取凭据

    @Override
    public void onClick(View view) {
       String usernameVal_login = usernameEditText_login.getText().toString();
       String passwordVal_login = passwordEditText_login.getText().toString();

        ParseUser.logInInBackground(usernameVal_login, passwordVal_login, new LogInCallback() {
            @Override
            public void done(ParseUser user, com.parse.ParseException e) {
                if (user != null) {
                    Intent intent = new Intent(WelcomeActivity.this, FunFactsActivity.class);
                    startActivity(intent);
                } else {
                    Toast.makeText(WelcomeActivity.this, "There was an unexpected error.", Toast.LENGTH_LONG).show();
                }
            }
        });
    }enter code here

在else条件下写入
e.printStackTrace()
,然后粘贴stacktrace09-09 03:14:43.691 18687-18687/com.example.khaube.funfacts W/System.err﹕ com.parse.ParseException:无效的登录凭据。。。因此,ParseException是问题所在,但根据Parse.com的文档,这是正确的语法。检查变量中的值是否正确?凭据是否正确。我已重新检查了我的Parse用户库。请尝试在
ParseUser中硬编码有效的用户名和密码。logInInBackground
Answer已添加到OP中。一个简单的逻辑错误就是全部!就在你回答之前,我看到了:)这是一个“我真的错过了吗?”的时刻。谢谢你的回答!!下次使用调试器。或者,您可以在调用解析API之前记录凭据并进行检查。