Firebase路径无效:[email protected]。 Firebase路径不得包含'。','#','$','['或']'
问题描述:
我正在创建一个注册页面,我要检查输入的特定电子邮件或输入的移动电话是否已存在或不。我认为_emailText作为一个字符串不被接受,但如何获取电子邮件和密码。 这里是下面的代码:
public boolean userExist(){
//private Firebase mRef = new Firebase("https://abcdefgh.firebaseio.com/users/");
mRef.child(_emailText.getText().toString()).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
Toast.makeText(getBaseContext(), "Email already exist. Please choose a different one", Toast.LENGTH_SHORT).show();
_emailText.setError("Email already exist. Please choose a different one");
valid = false;
}
else{
email = _emailText.getText().toString();
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
mRef.child(_mobileText.getText().toString()).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
_mobileText.setError("Mobile Number already exist");
valid = false;
}
else{
mobile = _mobileText.getText().toString();
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
return valid;
}
和数据库结构是这样的:
答
你的孩子关键是5Ri...
,而不是电子邮件
你要找的这个
mRef = new Firebase("https://abcdefgh.firebaseio.com/");
mRef.child("users")
.orderByChild("email")
.equalTo("[email protected]").addListener...() {
};
您的钥匙不能包含句点,如错误状态。替换他们与其他字符 –
请编辑您的文章,包括您的数据库的结构 –
结构是在“abcdefgh”有一个用户,如果你注册然后电子邮件,移动和所有创建,我在尝试要做的是在注册时获取这些电子邮件和手机,并比较我的edittext包含的内容。 – divJ