Есть ли способ извлечь данные из базы данных, где находится код? В настоящее время у меня есть valueEventListeners, но все они запускаются после кода ниже, что делает недействительным следующий код. Я хочу иметь возможность получить значение именно там, где находится код, а не позже.
На данный момент я не нашел в Интернете ничего об этом.
Хороший пример моих проблем в коде:
public void onItemClick(AdapterView<?> l, View v, final int position, long id) {
FirebaseAuth mAuth = FirebaseAuth.getInstance();
FirebaseUser user = mAuth.getCurrentUser();
final String uid = user.getUid();
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
cCESnapshot = dataSnapshot.child(uid).child("currChallenges").child(challengeList.get(position));
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Intent intent = new Intent();
intent.setClass(this, ChallengeView.class);
intent.putExtra("snapshot", cCESnapshot.toString());
intent.putExtra("name", challengeList.get(position));
startActivity(intent);
}
cCESnapshot имеет значение null, поскольку намерение выполняется до значения valueEventListener.