Я не хотел делать это ключевым и ценным, я много пытался найти решение, но не могу
И это мой код, когда я пытался получить его по ключу и значению
mFriendID = (DatabaseReference) FirebaseDatabase.getInstance().getReference().child("friends").child(current_user).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
fri_id = dataSnapshot.child("fri_id").getValue().toString();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Добавьте структуру своей базы данных и укажите точный идентификатор, который вы хотите получить.
Пожалуйста, покажите код вставки значений




Чтобы получить выделенный ключ, используйте следующий код:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("friends").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String key = ds.getKey();
Log.d("TAG", key);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {}
};
uidRef.addListenerForSingleValueEvent(valueEventListener);
Имейте в виду, что при этом загружаются ВСЕ данные из friends. Я не рекомендую делать это, когда требуется только один ребенок. Такая стратегия не масштабируется и излишне тратит время и деньги разработчиков, когда следует использовать какое-то другое решение.
@DougStevenson Привет, Дуг, спасибо за ваш комментарий, но почему вы говорите, что "эффективно загружаются ВСЕ данные с friends"? uidRef указывает только на один uid (который имеет только один дочерний элемент), а не на узел enitre friends, верно?
У него есть один ребенок на экране, которого вы видите - но какая у вас гарантия, что больше не может быть?
@DougStevenson Верно, Дуг, нет никаких гарантий. В этом случае я буду ждать, пока OP предоставит код, который используется для вставки значений, как также cricket_007, заданный в его комментарии. Таким образом, имея второй идентификатор (PRop ... nAk1), будет очень легко получить только одного ребенка. Спасибо!
четко объясните, с какой ошибкой вы столкнулись?