의 호출되지 않습니다. 나는이 사용자의 싱글 룸을 설정 FireBaseDatabase.updateChildren(RoomName)
를 호출하고 있습니다.OnDataChange는 내가 중포 기지 데이터베이스를 사용하고 한 채팅 하나를 시작하는 데이터베이스에 고유의 자식 노드를 작성해야하고 중포 기지 데이터베이스
심지어 여기
public void onCancelled(DatabaseError databaseError)
에없는 FireBaseDatabase.addListenerForSingleValueEvent(new ValueEventListener()
및 방법의 리스너 없음에 따라 호출에 문제를 호출 데 나의 코드
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Snackbar.make(view, "Hello I am SnackBar", Snackbar.LENGTH_LONG).setAction("Action", null).show();
Log.d(TAG, "User Session Value " + userSession);
userSession = new UserSession(getActivity(), "Pref_FileName");
Log.d(TAG, "User Session Value After Init " + userSession);
final Map<String, Object> RoomName = new HashMap<>();
RoomTitle = userSession.getPhoneNO() + "-" + UserData.getPhone();
otherUserRoom = UserData.getPhone() + "-" + userSession.getPhoneNO();
Log.d(TAG, "Room Title Should Be " + RoomTitle);
DatabaseReference FireBaseDatabase = FirebaseDatabase.getInstance().getReference();
Log.d(TAG, "Chat room name from Database " + db.toString()); //GETTING THIS VALUE IN LOG
FireBaseDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.hasChild(RoomTitle)) {
intent2.putExtra("Get_Other",RoomTitle);
Log.d(TAG,"Room Exists No Need To Create It "+RoomTitle); // THIS LOG NEVER GENERATE
RoomNameFinal=RoomTitle;
}
else if (dataSnapshot.hasChild(otherUserRoom)){
intent2.putExtra("Get_Other",otherUserRoom);
Log.d(TAG,"Room Exists No Need To Create It "+otherUserRoom);// THIS LOG NEVER GENERATE
RoomNameFinal=otherUserRoom;
}
else {
Log.d(TAG,"None Of the above Room exist so Create one with RoomTitle "+RoomName);// THIS LOG NEVER GENERATE
intent2.putExtra("Get_Other",RoomTitle);
RoomName.put(RoomTitle, "");
FireBaseDatabase.updateChildren(RoomName);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d(TAG,"On Cancelled Calling "+databaseError.getDetails()); // THIS LOG NEVER GENERATE
Log.d(TAG,"On Cancelled Calling "+databaseError.getMessage()); // THIS LOG NEVER GENERATE
Log.d(TAG,"On Cancelled Calling "+databaseError.toString()); // THIS LOG NEVER GENERATE
}
});
intent2.putExtra("Get_Phone", UserData.getPhone());
intent2.putExtra("Get_Image", UserData.getImage());
intent2.putExtra("Get_Name", UserData.getName());
Log.d(TAG,"Room Name Final "+RoomNameFinal);
startActivity(intent2);
}
});
편집이다 : 나는 아이를 추가하고 어디 내 중포 기지 데이터베이스에서
은 내가 루트에 자녀를 추가하고있다. 'FirebaseDatabaseFirebaseDatabase.getInstance(). getReference();'루트로 돌아가서 루트에 공간을 추가합니다. – androidXP
위 이미지를 확인하여 내 노드가 FirebaseDatabase에서 어떻게 보이는지 확인하십시오. – androidXP
이 DatabaseReference를 사용해보십시오. databaseReference = FirebaseDatabase.getInstance(). getReference() .getRoot(); –