Получение и запись данных в реальном времени для Android && Firebase - PullRequest
0 голосов
/ 18 октября 2018

У меня есть две вещи: USERS и VALUES.Один пользователь может иметь много значений.Я хотел бы настроить свою базу данных 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 голосов
/ 20 октября 2018

Предполагая, что дочерние элементы в вашей базе данных имеют имена values и userToken и , а не Values и UserToken, как я вижу, сейчас в вашем коде, чтобы решить эту проблему, изменитеследующая строка кода:

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

до

Map<String, Object> map = new HashMap<>();
map.put("userToken", userToken);
dbRef.child("values").updateChildren(map);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...