按注册按钮时,应用程序崩溃

时间:2020-04-04 15:38:43

标签: android parse-platform parse-server parse-android-sdk

当我运行应用程序时,应用程序崩溃了(我写的代码是否错误)?

这是我的帖子:

public class SignUP extends AppCompatActivity implements View.OnClickListener {


private EditText edtEmail,edtUserName, edtPassword;
private Button btnSignUp,btnLogin;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sign_up);

    edtEmail = findViewById(R.id.edtEnterEmail);
    edtUserName = findViewById(R.id.edtUserName);
    edtPassword = findViewById(R.id.edtEnterPassword);
    btnSignUp = findViewById(R.id.btnSignUp);
    btnLogin = findViewById(R.id.btnLogin);

    btnSignUp.setOnClickListener(this);
    btnLogin.setOnClickListener(this);

}

@Override
public void onClick(View view) {

    switch (view.getId()) {

        case R.id.btnSignUp:

            final ParseUser appUser = new ParseUser();
            appUser.setEmail(edtEmail.getText().toString());
            appUser.setUsername(edtUserName.getText().toString());
            appUser.setPassword(edtPassword.getText().toString());
            appUser.signUpInBackground(new SignUpCallback() {
                @Override
                public void done(ParseException e) {
                    if (e == null){
                        FancyToast.makeText(SignUP.this,appUser.getUsername() + "is signed up",
                                FancyToast.LENGTH_LONG, SUCCESS,true).show();

                        Intent intent = new Intent(SignUP.this,LoginActicvity.class);
                        startActivity(intent);
                    }else{
                        FancyToast.makeText(SignUP.this,"There was an error: "
                                + e.getMessage(),FancyToast.LENGTH_LONG, ERROR,true).show();

                    }
                }
            });
            break;

        case R.id.btnLogin:
            break;
    }
}

}

这是我尝试运行应用程序时的错误:

java.lang.IllegalArgumentException:您必须使用ParseObject.create()或适当的子类来创建这种类型的ParseObject。

它像这样显示。

1 个答案:

答案 0 :(得分:1)

确保已在Application类中初始化了Parse。

 // Register your parse models
        ParseObject.registerSubclass(GameScore.class); // for example

        Parse.enableLocalDatastore(this);
        Parse.initialize(new Parse.Configuration.Builder(context)
                .applicationId(APPLICATION_ID)
                .server(SERVER)
                .build()
        );

您还需要创建一个ParseObject

相关问题