2013-09-04 34 views
7

Tôi đang cố tạo kết nối cơ bản với Firebase trong một ứng dụng Java và sử dụng mã cơ bản được cung cấp mà tôi không thể nhận được bất kỳ phản hồi nào.Kết nối Java cơ sở Firebase

Đây là mã tôi đang sử dụng:

package fix; 

import com.firebase.client.*; 

public class Main { 

    public static void main(String args[]) throws Exception { 

    String url = "https://----.firebaseIO.com/"; 
    Firebase dataRef = new Firebase(url); 

    dataRef.addListenerForSingleValueEvent(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot snapshot) { 
      System.out.println("data"); 
     } 

     @Override 
     public void onCancelled() { 
      System.err.println("Listener was cancelled"); 
     } 
    }); 

    System.out.println("hi"); 
    } 
} 

Thư viện dường như được nạp tốt. Bất kỳ đề xuất?

Cập nhật

[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Raising events for /.info/authenticated 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Doing onDiff with changes: [] 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Marking queries complete for /.info/authenticated 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Marking queries complete for /.info/authenticated 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Marking queryMap complete:null 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Marking queries complete for /.info/authenticated 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Marking queryMap complete:null 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Raising events for /.info/connected 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Doing onDiff with changes: [] 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Marking queries complete for /.info/connected 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Marking queries complete for /.info/connected 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Marking queryMap complete:null 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Marking queries complete for /.info/connected 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Marking queryMap complete:null 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] ViewManager: Adding Value Event Listener callback for path:/
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] PersistentConnection: pc_0 - Listening on/for [{}] 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] PersistentConnection: pc_0 - Adding listen params: [{}] 
[java] Fri Sep 06 09:54:43 PDT 2013 [DEBUG] EventRaiser: Raising 0 event(s) 
[java] wait 
[java] wait 
[java] wait 
[java] wait 
+0

Bạn in "hi" và thoát ngay lập tức, bạn mong đợi điều gì sẽ xảy ra? –

+0

Bạn đã thử viết dữ liệu lên Firebase từ ứng dụng của mình chưa? Điều đó sẽ xác minh rằng thư viện được cài đặt đúng và mọi thứ. – Retsam

+0

Tôi đã cố gắng viết và không thể. Tôi đã không thể nhìn thấy bằng chứng của một kết nối ở tất cả. Để cài đặt thư viện, tôi đặt jar vào thư viện của tôi và bao gồm com.firebase như được hiển thị ở trên. Có bất kỳ bước nào khác để thực hiện không? Tôi giả định rằng kể từ khi các đối tượng thư viện đã không ném lỗi mà tất cả mọi thứ đã được bao gồm đúng cách. – Derek

Trả lời

2

Kỹ sư Firebase tại đây, bạn có thể bật ghi nhật ký và đăng đầu ra không? Bạn có thể cho phép đăng nhập bằng cách làm:

Firebase.getDefaultConfig().setLogLevel(Logger.Level.DEBUG); 

Ngoài ra, bạn có thể thêm một người quan sát cho

dataRef.child(".info/connected"); 

Và ghi lại những sự kiện mà bạn nhận được từ nó? Điều đó sẽ cho bạn biết khi nào bạn được kết nối hoặc ngắt kết nối khỏi Firebase.

Chỉnh sửa: Điều này đã được giải quyết qua email. Đó là một lỗi trong thư viện khách hàng, hiện đã được giải quyết. Bạn có thể tải xuống phiên bản mới nhất từ ​​trang web: https://www.firebase.com/docs/downloads.html

+0

Tôi đã cập nhật câu hỏi bằng nhật ký kết quả. Hy vọng rằng tôi đã chụp chính xác các bản ghi. – Derek

+0

Hi Derek. Bạn có thể gửi email cho tôi tại greg tại firebase.com không? Tôi muốn theo dõi điều này vì các bản ghi không hiển thị nhiều. Bạn cũng có thể đưa phiên bản SDK Firebase bạn đang sử dụng, cũng như phiên bản java của bạn không? (Firebase.getSdkVersion() và java -version) –

+0

Có, bản cập nhật này đã sửa nó cho tôi. Cảm ơn! – Derek

4

Tôi tin rằng probelm là, không giống như Node.js mà luôn chạy chờ đợi cho các sự kiện và callbacks để bắn, Java bỏ khi nó đạt đến sự kết thúc của phương pháp chính. Bạn sẽ muốn giữ cho chủ đề chính không thoát. Một cái gì đó như thế này nên giữ cho các chủ đề chính từ chấm dứt.

while(true) { 
    Thread.Sleep(10000); //Sleep 10 seconds 
} 
+0

Cảm ơn cả hai về câu trả lời của bạn. Bàn điều khiển không 'dòng tiếp theo', vì vậy tôi cho rằng nó đã được giữ sống. Tôi bị mắc kẹt trong giấc ngủ với một println, và nó chỉ giữ in ấn không có phản ứng từ firebase. – Derek