有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Firebase Java查询。equalTo()不起作用

我试图了解这种方法是如何工作的。我把一切都安排好了,我把一些线索放到了我的火源的根上。我引用了我的firebase,然后我尝试以这种方式创建一个查询对象

Query refQ = ref.orderByValue().equalTo(word);

这里的单词和我推到firebase上的字符串是一样的

我只想将该值打印到控制台。 发生的奇怪事情是,控制台挂起,就像它在无限循环中一样,我需要强制它终止。我在上面的代码行后面放了一个print语句,但它永远也达不到

所以我的问题是,我做错了什么

编辑:我忘了提到word是静态的,我推到firebase的一个词。我这样做是为了测试功能


共 (1) 个答案

  1. # 1 楼答案

    我创建了这个最小的示例,并在JDK 1.8.031中运行了它:

    public static void main(String[] args) throws Exception {
        Firebase ref = new Firebase("https://stackoverflow.firebaseio.com/29553461");
    
        /*
        Map<String,Object> map = new HashMap<String, Object>();
        map.put("puf", "Frank van Puffelen");
        map.put("frank", "Frank van Puffelen");
        map.put("david", "David East");
        map.put("east", "David East");
        ref.setValue(map);
        */
    
        Query refQ = ref.orderByValue().equalTo("Frank van Puffelen");
        refQ.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                System.out.println("Child added: "+dataSnapshot.getKey()+": "+dataSnapshot.getValue());
            }
    
            @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) { }
        });
    
        Console console = System.console();
        if (console != null) {
            console.format("Press ENTER to process.\n");
            console.readLine();
        }
        else {
            System.out.println("Sleeping for 5 seconds, in hopes that everything is done by then.");
            Thread.sleep(5000);
        }
    }
    

    它打印出:

    Child added: frank: Frank van Puffelen
    Child added: puf: Frank van Puffelen
    

    所以这对我来说似乎很好