Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Firebase data insert issue. Data is not inserted properly

I am trying to insert a POJO to Firebase. However, some of the fields don't seem to be parsed into Firebase, but there is no warning or error.

I have this POJO:

public class Group {
    public String name;
    public String admin;
    public List<String> addedUsers;
    public List<String> invitedUsers;

    public Group(String name, String admin, ArrayList<String> addedUsers, ArrayList<String> invitedUsers) {
        this.name = name;
        this.admin = admin;
        this.addedUsers = addedUsers;
        this.invitedUsers = invitedUsers;
    }

    public Group() {
        // Default constructor required because we have a non-default constructor as well.
    }
}

I upload to Firebase by doing so:

DatabaseReference groupRef = ref.child("Groups");
ArrayList<String> addedUsers = new ArrayList<String>();
addedUsers.add("[email protected]");
addedUsers.add("[email protected]");
ArrayList<String> invitedUsers = new ArrayList<String>();
Group newGroup = new Group("GroupName",
        "[email protected]", addedUsers, invitedUsers
);

groupRef.push().setValue(newGroup);

I end up with this object in Firebase:

enter image description here

I have a secondary issue now, I manually inserted the data into Firebase, but now I cannot map the Lists onto my Java Object, and are mapped as null, I know I am able to download the data fine;

like image 293
Yash Sharma Avatar asked Mar 21 '26 11:03

Yash Sharma


1 Answers

I'm not sure what you mean that lists are not supported, as it seems that they are supported.

Basic write operations

For basic write operations, you can use setValue() to save data to a specified reference, replacing any existing data at that path. You can use this method to:

Pass types that correspond to the available JSON types as follows:

  • String
  • Long
  • Double
  • Boolean
  • Map<String, Object>
  • List<Object>
  • Pass a custom Java object, if the class that defines it has a default constructor that takes no arguments and has public getters for the properties to be assigned.
like image 124
Drake Eidukas Avatar answered Mar 23 '26 01:03

Drake Eidukas



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!