В настоящее время я пытаюсь выяснить, почему мое приложение Android неправильно загружает информацию в Firebase. Приложение публикует информацию за пределами своего местоположения. Вот где должна быть информация:
DriversInformation
-UE7cSOf5Thbum6OwEmg9seAPD463
rates: "0"
Но вместо этого «оценки» загружаются снаружи следующим образом:
DriversInformation
-UE7cSOf5Thbum6OwEmg9seAPD463
-rates: "0"
В моем коде я определил мою ссылку как
driverInformationRef = database.getReference(Common.user_driver_tbl);
Common.user_driver_tbl
- это глобальная переменная, установленная как
public static final String user_driver_tbl = "DriversInformation";
Когда я публикую в Firebase, я использую этот код
double finalAverage = averageStars/count;
DecimalFormat df = new DecimalFormat("#.#");
String valueUpdate = df.format(finalAverage);
Map<String,Object> driverUpdateRate = new HashMap<>();
driverUpdateRate.put("rates",valueUpdate);
driverInformationRef.child(Common.driverId)
.updateChildren(driverUpdateRate)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
alertDialog.dismiss();
Toast.makeText(RateActivity.this,"Thank you for your feedback",Toast.LENGTH_SHORT).show();
finish();
}
});
Почему driversInformationRef.child(Common.driverId)
не обращается к / отправка правильному ребенку?
РЕДАКТИРОВАТЬ: Хорошо, я искренне запутался. После многих перекомпиляций рейтинговая система начала работать. Я добавил эту строку кода:
Log.d("FINALPROOF", String.valueOf(Common.driverId));
Почему эта строка кода имеет такое значение? Это как-то инициализирует значение?