0
Я просто удивляюсь, как установить корневой идентификатор с ключом моих вместо нажатия клавиши(), который получает генерируется внутри цикла в то время как в верхней части ..Firebase Установить ключ корневого Id
-Waypoint
-RootID <-- This key
-Points
....................
LinkedHashMap<String, Object> pointHolder = new LinkedHashMap<>();
LinkedHashMap<String, Object> waypointHolder = new LinkedHashMap<>();
waypointsUrl = Constants.FIREBASE_URL + "https://stackoverflow.com/users/" + mUserId + "/waypoints";
mainRef = new Firebase(waypointsUrl);
.................
ОБНОВЛЕННЫЙ КОД
while (isFirstTime) {
// Generates root id for date
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
mLastUpdateTime = dateFormat.format(date);
// Generates root id
mainRefKey = mainRef.push();
isFirstTime = false;
}
// Generates new id for point
Firebase wayRef1 = mainRefKey.push();
String pointKey = wayRef1.getKey();
// Create Waypoint > Point > put lat and lon
LinkedHashMap<String, Object> latLng = new LinkedHashMap<String, Object>();
latLng.put("latitude", 123);
latLng.put("longitude", 123);
// Puts lat and lon ** under a Point Key **
pointHolder.put(pointKey, latLng);
// Waypoint > POINT (contains multiple points)
waypointHolder.put("points", pointHolder);
waypointHolder.put("timeStamp", "24/3-2016");
waypointHolder.put("travelType", "travel");
// ROOT ID > Waypoint
mainRefKey.updateChildren(waypointHolder);
}
});
Изображение желаемой структуры:
Безразлично Не работай. Что такое someIdWouWant. Угадайте, что это идентификатор корня, но каков текущий идентификатор? –
сделал это, чтобы заставить его работать: 'mainRef.child (mLastUpdateTime) .setValue (waypointHolder);' внизу. –
Теперь я вижу, что он добавляет нажатый ключ вместе с моим собственным ключом, где нажатый ключ всегда один и перезаписывается. –