布尔值未显示在Firebase数据库中

时间:2018-12-03 02:53:28

标签: java android firebase firebase-realtime-database

我有一个奇怪的问题。当用户在我的应用程序中创建游戏时,其帐户中的某些信息会存储到游戏节点中,以便可以使用。一切工作正常,除了我有一个出于某种原因未传递到数据库中的布尔值。我在数据库中有一些布尔值可以很好地传递,但是由于某种原因,其中一个不会,而且我也不知道为什么。

这是我在创建游戏时使用的User构造函数:

public User(String userName, int score, String HorT, String uid, String gameId, int position, boolean ready, boolean inGame) {
    this.uid = uid;
    this.userName = userName;
    this.score = score;
    this.HorT = HorT;
    this.gameId = gameId;
    this.ready = ready;
    this.position = position;
    this.inGame = inGame;
}

然后是正在创建并添加到游戏中的用户对象:

final User user1 = new User(userName, 0, getSide(), FirebaseAuth.getInstance().getUid(), gameID, 1,false, false);

FCLobbyMaker gameMaker = new FCLobbyMaker(user1, null, wager, gameID, false, false);

这是我的数据库的样子:

enter image description here

我真的很困惑,为什么不将inGame布尔值传递到数据库中,而将其他布尔值(如ready)传递给数据库。有谁知道我能做些什么来解决这个问题?


我通过将false作为该行中的最后一个变量(创建用户)传递到数据库中

final User user1 = new User(userName, 0, getSide(), FirebaseAuth.getInstance().getUid(), gameID, 1,false, false);

然后我通过在该GameMaker行中传递user1将用户添加到游戏中

FCLobbyMaker gameMaker = new FCLobbyMaker(user1, null, wager, gameID, false, false);

最后,我使用这一行将整个gameMaker添加到数据库中

FCGames.child(gameID).setValue(gameMaker);

您会看到它工作正常,因为在我显示的数据库图片中,user1是游戏中的节点之一,它具有我在user1中传递的所有变量,除了{{1 }}布尔值

0 个答案:

没有答案