I am trying to create a firebase database separate for each user.
I have seen that I need to declare:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference(**REF**);
What is the REF though?
I am trying to create a firebase database separate for each user.
I have seen that I need to declare:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference(**REF**);
What is the REF though?
A DatabaseReference is a local reference (think: a pointer) to a location in your database.
When you run this:
DatabaseReference rootReference = database.getReference();
You get a reference to the root of your database:
/ <root>
From that root you can get references to child nodes in your database:
DatabaseReference usersRef = rootReference.child("users");
Now usersRef points to:
/ <root>
users
You can even specify a complete path when calling child() to get a pointer to anywhere in your database/tree:
DatabaseReference myProfilePicRef = rootRef.child("users/myuid/avatarURL");
And myProfilePicRef will refer to this URL
/ <root>
users
myuid
avatarURL: "https://www.gravatar.com/avatar/12d378e6a9788ab9c94bbafe242b82b4?s=48&d=identicon&r=PG"
Finally to get to the code in your question: you can specify the path that you want to refer to straight away when you call get getReference. So these will result in reference to the same locations as before:
DatabaseReference rootRef = database.getReference();
DatabaseReference usersRef = database.getReference("users");
DatabaseReference myProfilePicRefRef = database.getReference("users/myuid/avatarURL");