2017-05-29 113 views
2

我目前正在嘗試向我的應用程序添加第二個Firebase實時數據庫。我正在從Firebase博客上閱讀本教程,這正是我想要的。我目前連接到其他數據庫。但是,我無法創建參考將多個數據庫添加到單個Android應用程序

例如: mRef = FirebaseDatabase.getInstance()。getReference();

我不確定如何初始化新數據庫以利用裏面的信息。

 mRef = FirebaseDatabase.getInstance().getReference(); 
     Intent intent = getIntent(); 

     FirebaseOptions options = new FirebaseOptions.Builder() 
       .setApplicationId("AppID") // Required for Analytics. 
       .setApiKey("APIKEY") // Required for Auth. 
       .setDatabaseUrl("DatabaseURL") // Required for RTDB. 

       .build(); 
     FirebaseApp.initializeApp(this, options, "secondary"); 

// Retrieve my other app. 
     FirebaseApp app = FirebaseApp.getInstance("secondary"); 
// Get the database for the other app. 
     FirebaseDatabase secondaryDatabase = FirebaseDatabase.getInstance(app); 

我都試過,我能夠通過使用app.getOptions.getDatabaseURL獲取新數據庫的URL,但我不能夠使用它在新的數據庫獲取信息。

我也讀過了Android上的Firebase文檔,但我似乎無法找到任何有效的工具!

任何幫助將不勝感激!謝謝:)

回答

1

初始化第二FirebaseApp對象在代碼中明確的選擇:

FirebaseOptions options = new FirebaseOptions.Builder() 
     .setApiKey("AI...j0") 
     .setApplicationId("1:5...e0") 
     .setDatabaseUrl("https://myapp.firebaseio.com") 
     .build(); 
FirebaseApp secondApp = FirebaseApp.initializeApp(getApplicationContext(), options, "second app"); 
FirebaseDatabase secondDatabase = FirebaseDatabase.getInstance(secondApp); 
secondDatabase.getReference().setValue(ServerValue.TIMESTAMP); 

我從第二個項目的谷歌,services.json得到的配置值。 API密鑰位於名爲api_key的屬性下,應用程序ID來自名爲mobilesdk_app_id的屬性,數據庫URL來自名爲firebase_url的屬性。

+0

嗨,我實際上指的是構建它的東西像「mRef = FirebaseDatabase.getInstance()。getReference();」。因此,我可以使用「mRef」來寫入和讀取數據。例如, mRef.child(「eg1」)。child(「eg2」)。setValue(「Testing」); 是否可以創建利用新數據庫的mRef2? 對不起,如果我的解釋不夠清楚! –

+0

@jai:不要只複製[另一個問題]的答案(https://stackoverflow.com/questions/37634767/how-to-connect-to-more-than-one-firebase-database-from-an -Android應用內)。如果答案是一樣的,問題是重複的。 –

+0

嗨@FrankvanPuffelen!對不起,如果這個問題是重複的,但我將如何去讀/寫第二個數據庫。目前我正在使用mRef.child(「testing123」)。setValue(「123」);寫入第一個數據庫,其中mRef爲 mRef = FirebaseDatabase.getInstance()。getReference(); 會有一些沿着另一個firebase參考線,如mRef2?我無法在官方的Firebase文檔中找到任何相關的內容 –

相關問題