0
Firebaseからデータを取得して、このデータを使用して情報を表示しています。データの取得には時間がかかりますので、私はCountDownTimerを入れてアプリを待っていますが、それは素晴らしい解決策ではなく、うまく見えません。私はAndroidローダーがこの仕事をすることができますが、私はそれを動作させることができませんでした。誰もこれを解決することはできますか?Firebaseからデータを取得中にAndroidローダーを使用する
Firebaseからデータを取得するためのコードです。
infoReference.addChildEventListener(new ChildEventListener() { //inforeference is DatabaseReference
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
try {
Info info = postSnapshot.getValue(Info.class);
infoList.add(info); //Just an arraylist
}catch(Exception e){
}
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Firebaseでローダーを使用することはお勧めしません。本当の利点はありません。リスナーを必要なときに登録するだけです(アクティビティonStart)。アクティビティがなくなると登録を解除します(onStop)。オリエンテーションの変更では、リスナを再度登録するだけです。キャッシュから前回読み込んだものはすべて取り込まれます。 –
簡単な例がありますか?私はそれを働かせることはできません。私は.addOnCompleteListenerを試しました –
Android上でFirebaseを使用する方法を示すサンプルコードとコードラップが豊富にあります。 https://firebase.google.com/docs/ –