Я новичок в Firebase, и я не понимаю, почему я не могу получить данные в tMAX и тех же переменных (tMAX всегда возвращает как 0.0 и так же, как 0). Я перепробовал много вещей, которые нашел, но со всеми из них я получаю тот же результат при отладке.
Что я делаю неправильно?
Это правильный способ чтения из базы данных? Я что-то пропустил?
Strings.java - здесь я читаю
public class Settings {
double tMAX;
int NumNodes;
int LastNode;
int Source;
int same;
DatabaseReference mFirebaseDatabase;
FirebaseDatabase mFirebaseInstance;
String userID;
public Settings() {
mFirebaseInstance=FirebaseDatabase.getInstance();
userID= FirebaseAuth.getInstance().getCurrentUser().getUid();
mFirebaseDatabase=mFirebaseInstance.getReference().child("user").child(userID).child("1");
mFirebaseDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NotNull DataSnapshot snapshot) {
for(DataSnapshot snapshot1: snapshot.getChildren()){
if(snapshot != null){
User user = snapshot1.getValue(User.class);
if(user != null){
tMAX = user.getDuration();
}
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.e("Settings", "loadPost:onCancelled", databaseError.toException());
}
});
NumNodes=31;
mFirebaseDatabase.child("2").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NotNull DataSnapshot snapshot) {
for(DataSnapshot snapshot1: snapshot.getChildren()){
if(snapshot != null){
User2 user = snapshot1.getValue(User2.class);
if(user != null){
same=user.getSourceDestination().get(0);
if(same==1){
NumNodes+=1;
Source=0;
LastNode=0;
}
else{
NumNodes+=2;
Source=0;
LastNode=32;
}
}
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.e("Settings", "loadPost:onCancelled", databaseError.toException());
}
});
}
}
А вот так выглядит моя база данных
https://imgur.com/a/5HTHsfT