Obtaining The Reference And Key In Custom Object Firebase Android
I'm looking to pass the reference of the dataSnapshot and key of each specific object into a custom 'Message' object. I've tried using the key 'String key' within the Message.class
Solution 1:
When you get a Message instance from a DataSnapshot, you are likely doing:
Message message = snapshot.getValue(Message.class)
Since this is starting from getValue(), the message will not contain the key of the DataSnapshot.
What you can do is set the key yourself after reading the Message:
Message message = snapshot.getValue(Message.class);
message.setKey(snapshot.getKey());
You'll want to mark the getKey() as @JsonIgnore in that case, to ensure that Jackson tries to auto-populate or serialize it.
Solution 2:
I ended up adding a static method to create the object from the DataSnapshot:
publicstatic Message FromSnapshot(DataSnapshot snapshot){
Message msg = snapshot.getValue(Message.class);
msg.setKey(snapshot.getKey());
return msg;
}
Post a Comment for "Obtaining The Reference And Key In Custom Object Firebase Android"