Why firebase writes the method name "_UserName" instead of its value "_n" ?
Model class:
public class UserModel {
private String _n;
....
public UserModel()
{ }
public UserModel(
String _n,
....
)
{
this._n = _n;
....
}
public String get_UserName() {
return _n;
}
public void set_UserName(String _n) {
this._n = _n;
}
}
Create data:
DatabaseReference UserRef = FirebaseDatabase.getInstance().getReference()
.child("allUsers");
final UserModel newUser = new UserModel();
newUser.set_UserName("test new User 1");
....
final HashMap<String, Object> userMap = new HashMap<>();
productMap.put($newUserID, productNew);
UserRef
.updateChildren(userMap)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task)
{
if (task.isSuccessful())
{
Toast.makeText(getBaseContext(), "User is added successfully..", Toast.LENGTH_SHORT).show();
}
else
{
loadingBar.dismiss();
String message = Objects.requireNonNull(task.getException()).toString();
Toast.makeText(getBaseContext(), "Error: " + message, Toast.LENGTH_SHORT).show();
}
}
});
Writes in Firebase:
{ allUsers: [ "$newUserID" :{ "_UserName": "test new User 1" .... }, ... ] }
When rename "set_UserName" to "set_UserNameBlaBla3563636" then such key turns out:
{ allUsers: [ "$newUserID" :{ "_UserNameBlaBla3563636": "test new User 1" .... }, ... ] }
When I save this information on my android, everything is fine:
{ allUsers: [ "$newUserID" :{ "_n": "test new User 1" .... }, ... ] }
Why firebase writes "_UserName" instead of "_n" ?