使用firebase身份验证进行注册

时间:2018-03-24 23:15:08

标签: android firebase-realtime-database firebase-authentication

我已经使用firebase auth创建了一个注册表单。 gradle构建运行得很好。但是,当我运行应用程序时,它说myapp已停止工作。

通过电子邮件和密码验证,我想输入用户信息,如电话号码和车牌号(因为它是停车场应用程序)

public class RegisterScreen extends AppCompatActivity {
private EditText emailet;
private EditText password2et;
private EditText phonenoet;
private EditText carplatenoet;
Button register2btn;
ProgressDialog mProgressDialog;
private FirebaseAuth mAuth;
private DatabaseReference mDatabase;

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

    emailet = (EditText) findViewById(R.id.emailet);
    password2et = (EditText) findViewById(R.id.password2et);
    phonenoet = (EditText) findViewById(R.id.phonenoet);
    carplatenoet = (EditText) findViewById(R.id.carplatenoet);
    register2btn = (Button) findViewById(R.id.register2btn);
    mProgressDialog = new ProgressDialog(this);

    mAuth = FirebaseAuth.getInstance();


    register2btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            String email = emailet.getText().toString().trim();
            String password = password2et.getText().toString().trim();
            String phoneno = phonenoet.getText().toString().trim();
            String carplateno = carplatenoet.getText().toString().trim();

            if (!TextUtils.isEmpty(email) && !TextUtils.isEmpty(password) && !TextUtils.isEmpty(phoneno) && !TextUtils.isEmpty(carplateno)) {
                mProgressDialog.setTitle("Loading...");
                mProgressDialog.setMessage("Please Wait");
                mProgressDialog.setCanceledOnTouchOutside(true);
                mProgressDialog.show();
                register(email, password, phoneno, carplateno);
            }

        }

        public void register(final String email, final String password, final String phoneno, final String carplateno) {
            mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()) {
                        FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
                        String uid = user.getUid();
                        mDatabase = FirebaseDatabase.getInstance().getReference().child("users").child(uid);

                        HashMap<String, String> userMap = new HashMap<>();
                        userMap.put("Email", email);
                        userMap.put("Password", password);
                        userMap.put("PhoneNo", phoneno);
                        userMap.put("CarPlateNo", carplateno);

                        mDatabase.setValue(userMap).addOnSuccessListener(new OnSuccessListener<Void>() {
                            @Override
                            public void onSuccess(Void aVoid) {
                                Intent intent = new Intent(RegisterScreen.this, MainNavigationActivity.class);
                                startActivity(intent);
                            }
                        });
                    }

                }
            });

        }
    });


}
}   

0 个答案:

没有答案
相关问题