내 Firebase 데이터베이스는 다음과 같습니다.
firebase 데이터베이스에서 이메일 val을 사용할 수 없을 때 오류 메시지를 표시하고 싶습니다.
그리고 내 코드는
mRef.orderByChild("email").equalTo(val).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
User user = dataSnapshot.getValue(User.class);
textView.setText("Welcome " + user.name );
System.out.println(user.name + "\n" + user.email + "\n" + user.tell);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
User user = dataSnapshot.getValue(User.class);
textView.setText("Welcome " + user.name );
System.out.println(user.name + "\n" + user.email + "\n" + user.tell);
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
A ChildEventListener
는 특정 하위 노드의 존재 또는 하위 노드가 변경 / 제거 된 경우에만 감지 할 수 있습니다. 아이 의 부재 를 감지 할 수 없습니다 . 값이 없음을 감지하려면 다음이 필요합니다 ValueEventListener
.
mRef.orderByChild("email").equalTo(val).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getChildrenCount() == 0) {
System.out.println("No user with email "+val);
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
throw firebaseError.toException(); // don't ignore onCancelled!
}
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다