Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

All my firebase field get automatically an underscore on front

My PoIs class:

public class PoIs {
   private Integer location_id;
   private String location_name;
   private String location_address;
   
public PoIs() {}

public PoIs(Integer location_id, String location_name, String location_address) {
    this();
    this.location_id = location_id;
    this.category_id = category_id;
    this.location_name = location_name;
    this.location_address = location_address;
}

public Integer get_location_id() {
    return location_id;
}

public void set_location_id(Integer location_id) {
    this.location_id = location_id;
}

public String get_location_name() {
    return location_name;
}

public void set_location_name(String location_name) {
    this.location_name = location_name;
}

public String get_location_address() {
    return location_address;
}

public void set_location_address(String location_address) {
    this.location_address = location_address;
}

I populate PoIs with informatision from a sqlite database:

final PoIs p = new PoIs(Integer.parseInt(row.get(0).toString()), row.get(1).toString(), row.get(2).toString());

and at a moment intend to save them on a firabase database:

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

FIREBASE_REFERENCE.child("PoI_"+ p.get_location_id()).setValue(p)
            .addOnCompleteListener(t -> {
                final boolean isSuccessful = t.isSuccessful();
                final String msg = !isSuccessful
                        ? getResources().getString(R.string.fb_error)
                        : getResources().getString(R.string.fb_success);

         });

All work perfect except that my firebase fields start with an underscore. Instead location_id, location_name, location_address I have _location_id, _location_name, _location_address. I can’t understand why this happening. Any ideea how to resolve this issue?

>Solution :

Firebase uses JavaBean naming conventions when mapping from properties in your code to properties in the database. In that convention a method like get_location_name is the getter for a property called _location_name.

If you want the property in the database to be location_name, that’d be a getter getLocation_name. Alternatively, you can use a @PropertyName("location_name")) annotation on all accessors (so the getter/setter function and/or the public field) to indicate the explicit property name you want in the database.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading