2016-05-19 26 views

Odpowiedz

5

Brakowało nam adnotacji @PropertyName w tej wersji zestawu SDK Firebase dla Androida. Zostanie uwzględnione w następnej aktualizacji. Nie wiadomo jeszcze, kiedy to się skończy.

Zobacz tę odpowiedź za sposób wykorzystania Jackson wprost z najnowszej Firebase SDK: How to deserialise a subclass in Firebase using getValue(Subclass.class)

+0

Czy mogę być w porządku, jeśli trzymać się '@JsonProperty' adnotacji Jacksona do tej pory ? –

+0

Tak. Gdy wprowadzimy tę usługę, polecam przełączyć, ponieważ znacznie zmniejszy to rozmiar apk. –

+1

Dołączyłem kompilację adnotacji jackson: 2.7.4 i jackson-databind: 2.7.4, ale wygląda na to, że baza ogniowa ignoruje adnotacje typu '@ JsonProperty' i' @ JsonSerialize'. –

3
BEFORE 
@JsonIgnoreExtraProperties(ignoreUnknown=true) 
public class ChatMessage { 
    public String name; 
    public String message; 
    @JsonIgnore 
    public String ignoreThisField; 
} 

dataSnapshot.getValue(ChatMessage.class) 
AFTER 
public class ChatMessage { 
    public String name; 
    public String message; 
    @Exclude 
    public String ignoreThisField; 
} 

dataSnapshot.getValue(ChatMessage.class) 

odnoszą się do https://firebase.google.com/support/guides/firebase-android#update_your_java_model_objects_numbered