Я занимаюсь разработкой приложения для Android, и дошел до того, что у меня есть все продукты, когда я добавляю его в корзину, я добавляю идентификатор продукта в нового дочернего элемента текущего пользователя.Если в этом новом дочернем элементе под названием «продукты» я добавляю идентификаторы всех продуктов, которые я ему даю, нажимая при добавлении в корзину, он остается примерно таким: -L_ZXuTy2aVKuzWA1Y6r: «true» .Где идентификатор продукта, который я сохраняю как дочерний, и я присваиваю ему «истинное» значение.
С помощью следующего кода отлично работает получение полного списка всех этих продуктов, которые я добавил в корзину, а затемсписок сравнивается с дочерним, где хранятся эти продукты.
код:
followingList = new ArrayList<>();
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users")
.child( FirebaseAuth.getInstance().getCurrentUser().getUid())
.child("Products");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
followingList.clear();
for (DataSnapshot snapshot : dataSnapshot.getChildren()){
followingList.add(snapshot.getKey());
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}});
Но я хочу, чтобы вместо непосредственного хранения внутри дочерних «продуктов», был случайный идентификатор сМетод push создается, и в каждый уникальный идентификатор добавляется идентификатор продукта, который был добавлен в корзину.
В настоящее время я могу туда попасть, но я не знаю, как искать внутри случайного идентификатора все идентификаторы продукта, которыенаходятся внутри: дочерние "продукты" -> случайный идентификатор -> идентификатор продукта. Последний - тот, который я хочу получить из всех найденных алеаторных идентификаторов.
"products" : {
"-LaSV9Nxwrz58Oe8sLwE" : {
"-LaQoiF-_v_1BsEiqU7v" : true
},
"-LaSXD7-B6E51QRMMoWp" : {
"-LaQoiF-_v_1BsEiqU7v" : true
}
}