Firebaseを使用するAndroidアプリケーションでは、Firebaseがクエリ回答を返すとバックグラウンドで長い操作を実行する必要があります。例えば:Firebase Android:onDataChange()イベントは常にメインUIスレッドで実行されますか?
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot data) {
dosomething very long. . .
then call a callback forUI thread
}
私はfirebaseが非同期モードでクエリを実行することを知っているが、onDataChange()
方法は、私はカスタムのバックグラウンドスレッドでクエリを呼び出そうとしても、常にメインUIスレッドで実行しているようです。
このユースケースの管理方法を知っている人はいますか?
今はっきりしています。私はonDataChange()メソッドで非同期タスクを直接起動し、このタスクは最後にコールバックUIリスナを実行します。 – toofoo
コールバックアクションを取得したいスレッドを設定する方法はありますか? –
フランク、あなたはその考えを覚えていますか? Firebaseコールバックを返すスレッドを選択できるようにするには? –