Android && Firebase实时数据库数据检索和编写

时间:2018-10-18 07:11:52

标签: java android json firebase-realtime-database

我有两件事:USERSVALUES。一个用户可以有多个值。我想按以下方式配置Firebase实时数据库:

 "Users" : {
    "-LP4S9ewWAuEOlXKEkRB" : {
     "id" : "-LP4S9ewWAuEOlXKEkRB",
     "token" : "XXXXXXXXXXXXXXXXXXXXXXXXXX"
     }
    }
 "values":{
      userID: same as "id" in the users element,
      userToken: same as "token" in the users element,
      value: 13
    }

我已经成功完成了第一部分(保存用户),但是对于值,我的应用程序中每个新用户的值都会覆盖其他用户。 这是我的代码:

final String userToken =  sharedPreferences.getString("USER_TOKEN", "N/A");
//assign a personal id to the value
String valueId = dbRef.child("Values").push().getKey();
ValueData myValue= new ValueData(valueId, dataToSend);
dbRef.child("Values").child("UserToken").setValue(userToken);

请帮助我!! 预先谢谢你。

1 个答案:

答案 0 :(得分:0)

假设您数据库中的子代分别命名为valuesuserToken,并且不是 ValuesUserToken,正如我在代码中看到的那样现在,要解决此问题,请更改以下代码行:

dbRef.child("Values").child("UserToken").setValue(userToken);

Map<String, Object> map = new HashMap<>();
map.put("userToken", userToken);
dbRef.child("values").updateChildren(map);