<分区>
我的 Android 应用程序上有一个按钮,按下该按钮会更新 Firebase 数据库中的分数;
// UPDATE DATABASE START
final String getArgument = getArguments().getString("matchid");
DatabaseReference database = FirebaseDatabase.getInstance().getReference();
final DatabaseReference ref = database.child("Matches");
final Query gameQuery = ref.orderByChild("gameID").equalTo(getArgument);
gameQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
if(snapshot.exists()){
for (DataSnapshot child: snapshot.getChildren()) {
ref.child(getArgument).child("homeScore").setValue(5);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
//UPDATE DATABASE END
当我执行代码时,我在数据库中获得了一条新记录,而不是更新现有的字段数据。我通过 Firebase 控制台手动启动数据库,而不是以编程方式更新记录,因此我使用我创建的 gameID 作为我在数据库中的 PK。 我已将要更新的值硬编码为 5 以使其首先运行。
Firebase 中的数据结构是;
-Matches
- Match_01
-matchID
-homeScore
-etc....
感谢所有帮助。