2017-07-02 65 views
0

不是一個android問題。查詢Firebase DatabaseReference的習慣用法是什麼?

方法意在查詢數據庫:

private void db() throws FileNotFoundException, IOException { 
    FileInputStream serviceAccount = new FileInputStream("serviceAccountKey.json"); 
    FirebaseOptions options = new FirebaseOptions.Builder() 
      .setCredential(FirebaseCredentials.fromCertificate(serviceAccount)) 
      .setDatabaseUrl(stringURL) 
      .build(); 

    log.info(options.toString()); 

    FirebaseApp firebaseApp = FirebaseApp.initializeApp(options); 
    FirebaseDatabase f = FirebaseDatabase.getInstance(firebaseApp, stringURL); 

    DatabaseReference databaseNonRoot = f.getReference(); 
    DatabaseReference databaseReference = databaseNonRoot.getRoot(); 

    log.info(databaseReference.toString()); 

    // databaseReference.addValueEventListener(new ValueEventListener(){ 
    //really? 
} 

我已經通過網絡接口輸入的數據manually。如何查詢Firebase?類似SELECT * FROM <TABLE>是我正在尋找。

JSON數據導出:

{ 
    "abc" : 123, 
    "bar" : 4342342, 
    "foo" : 432434 
} 

還看到:

how to get all child list from Firebase android

+1

通常,與Android和其他Java環境之間的Firebase數據庫進行交互是相同的。讀取數據列表在這裏解釋:https://firebase.google.com/docs/database/android/lists-of-data#child-events並在這裏:https://firebase.google.com/docs/database/ admin/retrieve-data#section-event-types你的數據結構是什麼樣的(如JSON文本,請不要截圖)?您可以通過點擊[Firebase數據庫控制檯](https://console.firebase.google.com/project/_/database/data)中的「導出JSON」鏈接來獲取此信息。 –

+0

我會用JSON立即更新。如果我能得到JSON樹,這將讓我朝着正確的方向前進。 – Thufir

回答

2

是。真。

databaseReference.addValueEventListener(new ValueEventListener(){ 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
    for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) { 
     System.out.println("Key="+childSnapshot.getKey()+" Value="+childSnapshot.getValue()); 
    } 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 
    throw databaseError.toException(); 
    } 
}); 

查看Firebase documentation on dealing with lists瞭解更多信息。我也推薦在這裏閱讀我的答案:https://stackoverflow.com/a/30943084/209103

+0

這是否只是偵聽更改或者它是否完整地查詢實際的JSON樹? – Thufir

+0

'onDataChange'觸發初始數據和任何後續更改。 –

相關問題