Android 如何将新数据推送到firedatabase引用中而不覆盖它

Android 如何将新数据推送到firedatabase引用中而不覆盖它,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我创建了一个名为gameInfo的类,它需要一段时间(完成游戏所需的时间)和一个计数(game1、game2、game3等)。在我的asveUserInformation()方法中,我将这两位信息放入,并将它们设置为databasereference。将覆盖引用,而不是创建新的唯一引用 预期结果是用户将数据推送到mazeGame孩子的数据库中,并创建一个“game_count:1”“game_time 23456”,然后创建另一个新的参考“game_count:2”“game_time 5

我创建了一个名为gameInfo的类,它需要一段时间(完成游戏所需的时间)和一个计数(game1、game2、game3等)。在我的asveUserInformation()方法中,我将这两位信息放入,并将它们设置为databasereference。将覆盖引用,而不是创建新的唯一引用





预期结果是用户将数据推送到mazeGame孩子的数据库中,并创建一个“game_count:1”“game_time 23456”,然后创建另一个新的参考“game_count:2”“game_time 54534”。相反,当调用方法时,信息被覆盖。我认为push()命令在将数据放入数据库时会生成一个唯一的id?这是错误的吗?

您必须明确创建此新id:

String myKey = myRef.child(reference).push().key
FirebaseDatabase.getInstance().getReference().child(myKey).child("game_times").child(userID).child("mazeGame");

您必须明确创建此新id:

String myKey = myRef.child(reference).push().key
FirebaseDatabase.getInstance().getReference().child(myKey).child("game_times").child(userID).child("mazeGame");
private void saveUserInformation(){

        pauseOffSet = SystemClock.elapsedRealtime() - chronometer.getBase();

        gameInfo.setGame_time(pauseOffSet);
        gameInfo.setGame_count(gameCount);

        myRef.push().setValue(gameInfo);
    }
String myKey = myRef.child(reference).push().key
FirebaseDatabase.getInstance().getReference().child(myKey).child("game_times").child(userID).child("mazeGame");