Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过firestore在android中注册和登录过程_Android_Google Cloud Firestore - Fatal编程技术网

通过firestore在android中注册和登录过程

通过firestore在android中注册和登录过程,android,google-cloud-firestore,Android,Google Cloud Firestore,我是android新手,我正在尝试用android开发一个简单的系统,并使用云firestore测试版作为数据库。我已经完成了在数据库中写入数据(电子邮件和密码)的注册部分。但我不知道登录的过程,因为我希望系统读取数据库中的数据,并与数据库中的电子邮件和密码匹配。有人能帮我吗?提前谢谢。 登记活动如下: public class RegisterActivity extends AppCompatActivity { private Button btnRegister; p

我是android新手,我正在尝试用android开发一个简单的系统,并使用云firestore测试版作为数据库。我已经完成了在数据库中写入数据(电子邮件和密码)的注册部分。但我不知道登录的过程,因为我希望系统读取数据库中的数据,并与数据库中的电子邮件和密码匹配。有人能帮我吗?提前谢谢。 登记活动如下:

public class RegisterActivity extends AppCompatActivity {

    private Button btnRegister;

    private EditText edtxtEmail;
    private EditText edtxtTpnumber;
    private EditText edtxtDepartment;
    private EditText edtxtPassword;
    private EditText edtxtConfirmpassword;

    private FirebaseFirestore rFireStore;

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

        rFireStore = FirebaseFirestore.getInstance();

        btnRegister = (Button) findViewById(R.id.btnregister);
        edtxtEmail = (EditText) findViewById(R.id.edtxtemail);
        edtxtTpnumber = (EditText) findViewById(R.id.edtxttpnumber);
        edtxtDepartment = (EditText) findViewById(R.id.edtxtdepartment);
        edtxtPassword = (EditText) findViewById(R.id.edtxtpassword);
        edtxtConfirmpassword = (EditText) findViewById(R.id.edtxtconfirmPassword);

        btnRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String Email = edtxtEmail.getText().toString();
                String TPnumber = edtxtTpnumber.getText().toString();
                String Department = edtxtDepartment.getText().toString();
                String Password = edtxtPassword.getText().toString();
                String ConfirmPassword = edtxtConfirmpassword.getText().toString();

                Map<String, String> userMap = new HashMap<>();
                userMap.put("Email Address", Email);
                userMap.put("TP Number", TPnumber);
                userMap.put("Department", Department);
                userMap.put("Password", Password);
                userMap.put("Confirm Pass", ConfirmPassword);

                rFireStore.collection("Users").document("Students").set(userMap).addOnSuccessListener(new OnSuccessListener<Void>() {
                    @Override
                    public void onSuccess(Void aVoid) {
                        Toast.makeText(RegisterActivity.this, "Data Saved!!", Toast.LENGTH_SHORT).show();
                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Toast.makeText(RegisterActivity.this, "Data Failed!!", Toast.LENGTH_SHORT).show();
                    }
                });

                /*rFireStore.collection("Users").add(userMap).addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                    @Override
                    public void onSuccess(DocumentReference documentReference) {
                        Toast.makeText(RegisterActivity.this, "Data Saved!!", Toast.LENGTH_SHORT).show();
                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Toast.makeText(RegisterActivity.this, "Data Failed!!", Toast.LENGTH_SHORT).show();
                    }
                });*/
            }
        });
    }
}
公共类注册表活动扩展了AppCompatActivity{
专用按钮BTN注册表;
私人编辑邮件;
私有编辑文本EDTxtpNumber;
私人编辑部;
私有编辑文本和密码;
私有EditText edtxtConfirmpassword;
私人FirebaseFirestore rFireStore;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u寄存器);
rFireStore=FirebaseFirestore.getInstance();
btnRegister=(按钮)findViewById(R.id.btnRegister);
edtxtEmail=(EditText)findViewById(R.id.edtxtEmail);
edtxtTpnumber=(EditText)findViewById(R.id.edtxtTpnumber);
edtxtDepartment=(EditText)findViewById(R.id.edtxtDepartment);
edtxtPassword=(EditText)findViewById(R.id.edtxtPassword);
edtxtConfirmpassword=(EditText)findViewById(R.id.edtxtConfirmpassword);
btnRegister.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串Email=edtxtEmail.getText().toString();
字符串TPnumber=edtxtTpnumber.getText().toString();
字符串Department=edtxtDepartment.getText().toString();
字符串密码=edtxtPassword.getText().toString();
字符串ConfirmPassword=edtxtConfirmpassword.getText().toString();
Map userMap=newhashmap();
userMap.put(“电子邮件地址”,电子邮件);
userMap.put(“TP编号”,TPnumber);
userMap.put(“部门”,Department);
userMap.put(“密码”,Password);
userMap.put(“确认通过”,确认密码);
rFireStore.collection(“Users”).document(“Students”).set(userMap.addOnSuccessListener(新OnSuccessListener)(){
@凌驾
成功时公开作废(作废避免){
Toast.makeText(RegisterActivity.this,“数据已保存!!”,Toast.LENGTH\u SHORT.show();
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(RegisterActivity.this,“数据失败!!”,Toast.LENGTH\u SHORT.show();
}
});
/*rFireStore.collection(“Users”).add(userMap.addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(文档引用文档引用){
Toast.makeText(RegisterActivity.this,“数据已保存!!”,Toast.LENGTH\u SHORT.show();
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(RegisterActivity.this,“数据失败!!”,Toast.LENGTH\u SHORT.show();
}
});*/
}
});
}
}

对于登录,您可以使用以下选项:

for (QueryDocumentSnapshot documentSnapshot : task.getResult()) {
    if (task.isSuccessful()) {
        //task result = 1
    }
}

if (task.getResult().size() == 0) {
    //task result = 0 
}
尝试使用。会解决你所有的问题。