在Java中结束Firebase查询/回调

时间:2016-10-07 18:35:22

标签: java firebase firebase-realtime-database

有没有办法在Firebase数据库上执行简单查询,获取并返回一个与查询参数匹配的对象(在Java中)?我对使用Firebase非常陌生,据我所知,orderBy()是一种无限期的异步方法,这就是为什么我无法弄清楚如何对数据执行操作的原因查询。是否有一些回调表示法允许我快速检索并返回值并结束查询,或者我在Firebase文档中遗漏了哪些内容?

例如,在这个方法中,我想弄清楚数据库是否包含指定的用户,如果查询与用户匹配则返回true。

for n=1:size(data,1)
   if n~=i
      data = data( data(:,1) ~= mode(data(:,1)), :);
   else
      item = data( data(:,1) == i, :);
   end
end

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:1)

要获取单个值,请使用addListenerForSingleValueEvent

DatabaseReference ref = getDatabaseRef("users");
ref.child("user1").addListenerForSingleValueEvent(new ValueEventListener() {
   @Override
   public void onDataChange(DataSnapshot dataSnapshot) {
       String value = (String) dataSnapshot.getValue();

       // do your stuff here with value

   }

   @Override
   public void onCancelled(FirebaseError firebaseError) {

   }
});