2017-05-29 8 views
2

現在、アプリケーションに2番目のfirebaseリアルタイムデータベースを追加しようとしています。私はFirebaseのブログからこのチュートリアルに従っています。これは私が欲しいものです。私は現在、他のデータベースに接続しています。しかし、私は参照を作成することができません複数のデータベースを1つのアンドロイドアプリに追加する

例: 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を取得することができるよ、私は新しいデータベース内の情報にアクセスするためにそれを使用することはできませんよ。

また、アンドロイドで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); 

私は2番目のプロジェクトのGoogle-services.jsonから設定値を得ました。 APIキーはapi_keyというプロパティの下にあり、アプリケーションIDはmobilesdk_app_idというプロパティから来ており、データベースのURLはfirebase_urlというプロパティから来ています。

+0

こんにちは、実際には "mRef = FirebaseDatabase.getInstance()。getReference();"のような構造に沿って何かを参照していました。私は "mRef"を使ってデータの書き込みと読み込みを行うことができます。 たとえば、 mRef.child( "eg1")。子( "eg2")。setValue( "Testing"); 新しいデータベースを利用するmRef2を作成することはできますか? 申し訳ありませんが、私の説明が十分明確でない場合は! –

+0

@jai:[別の質問]から回答をコピーしないでください(https://stackoverflow.com/questions/37634767/how-to-connect-to-more-than-one-firebase-database-from-an -android-app)。答えが同じであれば、その質問は重複しています。 –

+0

こんにちは@FrankvanPuffelen!この質問が重複している場合は申し訳ありませんが、2番目のデータベースからの読み書きについてはどうすればよいですか。現在、私はmRef.child( "testing123")を使用しています。setValue( "123");最初のデータベースに書き込み、mRefは です。mRef = FirebaseDatabase.getInstance()。getReference(); mRef2のような別の火炉基準の線に沿って何かがあるでしょうか?公式のFirebase文書内に関連するものが見つかりません –

関連する問題