Я вызываю функцию в Android Студия «При создании».
Примерно так:
Log.i(TAG, "Config: On Create 00 " + getInput());
public List<Object> getInput(){
final List<Object> result = new ArrayList<>();
final DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
Query query = ref.child("Device").orderByChild("home").equalTo(homeID);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshots :dataSnapshot.getChildren()){
result.add(dataSnapshots.getKey());
Log.i(TAG, "Config: get Input 2 " + result);
}
Log.i(TAG, "Config: On Create 02 " + result);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Log.i(TAG, "Config: On Create 01 " + result);
return result;
}
Последовательность созданных журналов сбивает меня с толку, и я считаю, что это не так, как в потоке. Последовательность: Log 1) Config On Create 01 Log 2) Config On Create 00 Log 3) Config get Input 2 Log 4) Config On Create 02
Я считаю, что Log 2 должен прийти раньше, чем Log 1 Я запутался а также я не получаю результат, как ожидалось. Пожалуйста, помогите.