Completion Handler Firebase in Android



在返回值之前,我尝试先获取所有数据...但是我在互联网上找不到有关火力基地操作的完成处理程序的信息。

有人可以帮忙吗?

我目前的实现效果不佳....

public List<ExampleClass> GetAllExamples() {
  Query examplequery = db.child("example");
  exampleList = new ArrayList<ExampleClass>();
  examplequery.addChildEventListener(new ChildEventListener() {
    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {
      String value = getValue(dataSnapshot.getValue().toString());
      String key = dataSnapshot.getKey();
      ExampleClass ex = new Country(key, value);
      exampleList.add(ex);
    }
    @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(FirebaseError firebaseError) {
    }
  });
  return exampleList;
}

在弗兰克的帮助下,我找到了合适的解决方案

examplequery.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // do something after data is synchronized
        }
        @Override
        public void onCancelled(FirebaseError firebaseError) {
        }
    });

最新更新