Following your answer that is correct, you should check that the userID is not null before sending it to the database, since in any case it can be null, just adding a check before sending it to the database It would be fine.
FirebaseAuth mAuth;
mAuth = FirebaseAuth.getInstance().getCurrentUser();
if(mAuth != null ){
String user_id = mAuth.getUid();
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("Usuario");
DatabaseReference currentUserDB = databaseReference.child(auth.getCurrentUser().getUid());
currentUserDB.child("uid").setValue(user_id);
}
For the second part of the followers, you can store it under the node of each user with a reference to the user that follows it, in this way you can know the profile of each one and then with a getChildrenCount()
you could know the amount of a user's followers
For example, this is a structure I had made for an app similar to what you're looking for
Here you can see that the node followed-by only saves the UIDs of the users that follow me, and follows saves the UIDs of the users that I follow, then, if I want to access the profile of each one, it is enough to go to that user's node with that data and search for its meta data (name, bio, etc.).
In this way, I can also grab and make a getChildrenCount()
of each node, as well as followed-by (to know the number of people who follow me) as in the follows (to know how many I follow)