2017-05-29 4 views
2

Ich bin derzeit versucht, eine zweite Feuerbasis Echtzeit-Datenbank zu meiner Anwendung hinzuzufügen. Ich folge diesem Tutorial aus dem Firebase-Blog, das genau das ist, was ich möchte. Ich bin momentan mit der anderen Datenbank verbunden. Ich kann jedoch keine Referenz erstellenmehrere Datenbanken zu einem einzigen Android App

zB: mRef = FirebaseDatabase.getInstance(). GetReference();

Ich bin nicht sicher, wie die neue Datenbank intialise die Informationen innen zu nutzen.

 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); 

Ich habe versucht, und ich bin in der Lage die URL der neuen Datenbank zu erhalten, indem app.getOptions.getDatabaseURL, aber ich bin nicht in der Lage, es zu verwenden, um Informationen in der neuen Datenbank zuzugreifen.

habe ich auch durch die Firebase docs auf Android lesen, aber ich kann nicht scheinen, etwas zu finden, das funktioniert!

Jede Hilfe würde sehr geschätzt werden !!! Thanks :)

Antwort

1

ein zweites FirebaseApp Objekt mit expliziten Optionen im Code initialisiert werden:

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); 

ich die Konfigurationswerte aus dem zweiten Projekt von Google-services.json bekam. Der API-Schlüssel steht unter einer Eigenschaft namens api_key, die Anwendungs-ID stammt von einer Eigenschaft namens mobilesdk_app_id und die Datenbank-URL stammt aus einer Eigenschaft namens firebase_url.

+0

Hallo, ich bezog sich eigentlich auf etwas entlang der Linien der es wie Strukturierung "MRef = FirebaseDatabase.getInstance() getReference();". Also das kann ich "MRef" verwenden, um lesen und zu schreiben Daten Zum Beispiel mRef.child ("EG1") Kind ("eg2") setValue ("Testing")..; Ist es möglich, mRef2 zu erstellen, das die neue Datenbank verwendet? Entschuldigung, wenn meine Erklärung nicht klar genug war! –

+0

@jai: nicht einfach eine Antwort von [einer anderen Frage] kopieren (https://stackoverflow.com/questions/37634767/how-to-connect-to-more-than-one-firebase-database-from-an -Android App). Wenn die Antwort dieselbe ist, ist die Frage ein Duplikat. –

+0

Hallo @FrankvanPuffelen! Entschuldigung, wenn diese Frage ein Duplikat ist, aber wie würde ich beim Lesen/Schreiben aus der zweiten Datenbank vorgehen? Momentan verwende ich mRef.child ("testing123"). SetValue ("123"); Schreiben in die erste Datenbank, wobei mRef ist mRef = FirebaseDatabase.getInstance(). getReference(); Wäre da etwas wie ein anderer Firebase-Verweis wie mRef2? Ich kann in der offiziellen Firebase-Dokumentation keine verwandten Elemente finden. –

Verwandte Themen