DIE GESCHICHTE
Ich verwende Firebase Realtime Database in meiner App. Ich habe so ein Modell.
%Vor% Nun speichert dies das Feld als itemName
in meiner Echtzeitdatenbank. Aber ich möchte diese Namenskonvention nicht verwenden. Ich möchte das Benennungsmuster, item_name
.
WAS ICH TUN
Ich habe den @PropertyName ("item_name") über dem Feld wie folgt verwendet,
%Vor%DAS PROBLEM
Firebase scheint die Anmerkung vollständig zu ignorieren. Es gibt keine Möglichkeit, die Eigenschaftsnamen für die Serialisierung und Deserialisierung zu ändern.
Jede Hilfe würde sehr geschätzt werden.
BEARBEITEN
Hier ist die komplette Modellklasse in Bezug,
%Vor%Endlich gab es eine Chance, dieses Problem zu lösen. Danke an @hatboysam für den Vorschlag.
Das einzige Problem war, dass @PropertyName
Annotation in Firebase nicht richtig dokumentiert wurde.
Das erste, was notwendig ist, ist, dass das Feld public sein muss, sonst wird die Annotation nicht funktionieren, was ziemlich offensichtlich ist /
Nun berücksichtigt die Annotation sowohl den Feldnamen als auch die zu serialisierenden Getter / Setter-Namen. Ich hatte auch das Problem, wo die Felder sowie die Getter / Setter serialisiert wurden, was zu doppelten Ket / Wert-Paaren führte.
Ich löste das Problem, indem ich die Annotation für den Feldnamen verwendete, die öffentlich war und die Getter / Setter ignorierte . Dies hat das Problem perfekt gelöst. Nicht die Daten wurden ordnungsgemäß mit dem Eigenschaftsnamen, den ich wollte, serialisiert, und es gab auch kein doppeltes Datenproblem.
Hier ist ein einfaches Beispiel,
%Vor%Tags und Links android firebase firebase-database