В приложении Android, использующем Firebase, мне нужно выполнить длинные операции в фоновом режиме, как только Firebase вернет ответ на запрос. Например:.
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot data) {
dosomething very long. . .
then call a callback forUI thread
}
Я знаю, что firebase выполняет запрос в асинхронном режиме, но метод onDataChange()
, кажется, всегда выполняется в основном потоке пользовательского интерфейса, даже если я пытаюсь вызвать запрос в настраиваемом фоновом потоке.
Кто-нибудь знает, как управлять этим прецедентом?