I am accessing Firebase on Android. I want to retrieve a child from the tree. My code is (updated)
f.child("Germany").child("Username").child("Alan Turing").addChildEventListener(new ChildEventListener() {
// Retrieve new posts as they are added to Firebase
@Override
public void onChildAdded(DataSnapshot snapshot, String previousChildKey) {
Map<String, Object> newPost = (Map<String, Object>) snapshot.getValue();
System.out.println("Author: " + newPost.get("Message"));
disp_msg = (TextView)findViewById(R.id.display_msg);
disp_msg.setText(newPost.get("Message").toString());
// System.out.println("Title: " + newPost.get("title"));
}
In my firebase I have
Language
Germany
Username
Alan Turing
Message
-Jf6ShYy7niHrqg_x4Tc: "tom"
-Jf9v0xHAxINUUANrORU: "perfect"
When I ran the code above I get:
Author: {
Username={
Alan Turing={
Message={
-Jf6ShYy7niHrqg_x4Tc=tom,
-Jf9v0xHAxINUUANrORU=perfect!
}
}
}
}
But I want only the messages, not the entire Firebase database.
So how do I get just the specified child?
only this is working so far but it returns whole firebase:
f.addChildEventListener(new ChildEventListener() {
// Retrieve new posts as they are added to Firebase
@Override
public void onChildAdded(DataSnapshot snapshot, String previousChildKey) {
Map<String, Object> newPost = (Map<String, Object>) snapshot.getValue();
System.out.println("Author: " + newPost.get("Germany"));
disp_msg = (TextView)findViewById(R.id.display_msg);
disp_msg.setText(newPost.get("Germany").toString());
// System.out.println("Title: " + newPost.get("title"));
}
I stored it as follows:
Firebase usersRef = f.child("Language");
usersRef .child("Germany").child("Username").child("Alan Turing").child("Message").push().setValue(writeMsgField.getText().toString());