3
我在Android上使用Firebase保存地圖字段的POJO時發現,如果該地圖在該地圖的值屬性中包含空值,則忽略整個字段。Android Firebase - 爲什麼忽略地圖字段中的空值
解決方法很簡單(非空值將導致地圖保存成功),但我想明白爲什麼會這樣?
模型
public class Game {
private String owner;
private Map<String, String> characters;
public Game() {
// empty constructor for Firebase
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public Map<String, String> getCharacters() {
return characters;
}
public void setCharacters(Map<String, String> characters) {
this.characters = characters;
}
}
調用代碼
final Game game = new Game();
game.setOwner("owner");
game.setCharacters(new HashMap<String, String>());
game.getCharacters().put("Bugs Bunny", null);
game.getCharacters().put("Batman", null);
final Firebase ref = new Firebase("<firebaseurl>/test/" + System.currentTimeMillis());
ref.setValue(game);
在火力地堡
{
"1456421340781": {
"owner": "owner"
}
}
謝謝!看起來我沒有足夠好的RTFM,從那以後發現「注意,將null傳遞給setValue()將刪除指定位置的數據。」和「請注意,在地圖中傳遞null將刪除數據庫中該位置的數據。」在https://www.firebase.com/docs/android/guide/saving-data.html – keith
很好。我確實在尋找最後一個答案,但沒有成功。找到它。我會從我的答案中刪除關於它未被記錄爲Android的一點。 –