我希望能够复制uid(图中蓝色下划线)并将其与当前用户的uid进行比较。而且,只有在同一个uid下没有数据时才写入数据库。这是为了让每个用户只上传一次数据。此代码中的Firebase数据库有什么问题?
Link to the database screenshot
buttonSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mDatabaseReference.child("drivers").child(userid).toString() != userid || mDatabaseReference.child("parents").child(userid).toString() != useremail) {
if (!radiobutton1.isChecked() && !radiobutton2.isChecked()) {
Toast.makeText(LoggedinActivity.this, "Please select either Driver or Parent", Toast.LENGTH_LONG).show();
} else if (radiogroup.getCheckedRadioButtonId() == radiobutton1.getId()) {
typestring = "driver";
Users users = new Users(useremail, editText.getText().toString(), typestring);
mDatabaseReference.child("drivers").child(userid).setValue(users);
} else if (radiogroup.getCheckedRadioButtonId() == radiobutton2.getId()) {
typestring = "parent";
Users users = new Users(useremail, editText.getText().toString(), typestring);
mDatabaseReference.child("parents").child(userid).setValue(users);
}
}
else {
Toast.makeText(LoggedinActivity.this, "Information already submitted", Toast.LENGTH_LONG).show();
}
}
});
这段代码有什么问题? –
你没有告诉我们你的问题是什么 - 这意味着我们无法帮助你。 –
如果当前用户的uid下已有数据,则不应该添加数据。但是,如果在当前用户的uid下已经有一个数据,它会替换数据。它不应该这样做 –