# #java #firebase #android-studio #firebase-realtime-database
Вопрос:
Я пытаюсь получить коллекцию «ставка» из базы данных firebase (в Android studio, используя java). это коллекция pic1 pic2
,У меня есть класс пользователя, в котором есть поля «полное имя»,»электронная почта»,»пароль». что мне делать с коллекцией «ставка»? Я пытался
reference = FirebaseDatabase.getInstance().getReference().child("Users"); db = FirebaseFirestore.getInstance(); db.collection("Users").document(UserID).get().addOnCompleteListener(task -gt;{ if(task.isSuccessful() amp;amp; task.getResult() != null){ String number_bet = task.getResult().getString("bet"); } } );
Это не удалось ,и я не смог найти никаких решений , я могу получить доступ к другим полям, например
@Override public void onDataChange(@NonNull DataSnapshot snapshot) { User user1 = snapshot.getValue(User.class); if(user1 != null){ user_submit.setText(user1.bet_display); } }
все, что мне нужно, это получить значение нарисованного числа (0-36) (в этом случае строка).
Спасибо!
Комментарии:
1. Пожалуйста, покажите нам, что находится внутри узла «ставка».
2. у меня внутри ничего нет, я не знаю, как хранить элементы там, это игра в рулетку, когда пользователь отправляет ставку, ставка на поле добавляется в firebase, я пытался добавить поля в пользовательский узел, но потерпел неудачу, я пытался разделить пользователя и сделать ставку на два разных графика, но фильтровать с одним и тем же идентификатором пользователя все не удалось
3. Узел «ставка» присутствует в вашей базе данных.
4. это своего рода карта, ключ-значение (ключи от 0-36) значение начинается с 0 Я добавил картинку в пост
5. Итак, вы хотите получить только содержимое узла «ставка»?
Ответ №1:
это сработало для меня.
DatabaseReference reference=FirebaseDatabase.getInstance().getReference().child("Users"); reference.child(UserID).addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot snapshot) { String str2 = snapshot.child("bet").child("" NUMBER).getValue().toString(); } } @Override public void onCancelled(@NonNull DatabaseError error) { } });
ЧИСЛО-это путь, он рисуется каждый раз..
просто попал на правильный путь с помощью snapshot.child(какой-то ключ).child(какой-то ключ)…. GetValue().toString()