2016-11-07 84 views
4

我知道,firebase有一個實時數據庫,我已經使用它。但它首先基於用戶身份驗證。我想要做的是讓Firebase實時數據庫與其他應用程序共享其內容。就像Android中的ContentProvider一樣。Google firebase - 如何與其他應用程序共享數據庫

當我打電話:

FirebaseDatabase database = FirebaseDatabase.getInstance(); 

這會得到firebaseDatabase只爲我的應用程序。我希望其他應用程序也能夠使用實時數據庫。他們如何連接到它?

更新:
從概念上講,contentProvider可以解決這個問題嗎?因爲contentProvider只是一個抽象,並不關心數據源是什麼,而不是使用sql作爲源,我可以使用firebase數據庫。然後,因爲firebase數據庫被包裝在一個contentProvider中,我可以爲其他應用程序公開一個URI並使contentProvider公開。我將不得不更多地瞭解這一點,但應該是可能的,因爲contentProvider是網絡或本地數據源的包裝。但ContentProvider.query命令會返回一個遊標,但不知道如何將光標移出檢索的Firebase數據。

+0

其他應用程序未添加Firebase依賴關係,是什麼意思? –

+0

我不介意他們是否有Firebase依賴。無論哪種方式都很好。我只是想要一種方法將我的Firebase數據庫暴露給其他應用程序。 – j2emanue

回答

0

選項1將通過某種身份驗證實現自定義後端,作爲數據的訪問點。

選項2將使您希望公開分享的所有數據可用,並在相關應用程序中獲取對該數據庫的引用。

選項1將更安全,更可靠,可從一個地方進行配置。選項2將更容易實施。

+0

關於選項2.你說在firebase儀表板中有一種方法可以讓實時數據庫暴露給任何人?如果是的話,我不知道該怎麼做。我只是在規則中改變它?我認爲firebase功能是每個應用程序? – j2emanue

+0

您必須能夠將services.json添加到其他應用程序才能執行此操作。如果你想分享數據到外部應用程序(你不發佈等),選擇1是選擇。無論哪種方式選項1將是一個更可持續的系統 –

+0

它剛剛以另一種方式來到我身上。因爲contentProvider只是一個抽象,並不關心數據源是什麼,而不是使用sql作爲源,我可以使用firebase數據庫。然後,因爲firebase數據庫被包裝在一個contentProvider中,我可以爲其他應用程序公開一個URI並使contentProvider公開。我將不得不看更多,但應該是可能的,因爲contentProvider是多個數據源的包裝,無論是網絡,本地SQL。你可以讓查詢命令返回任何我認爲的東西。 – j2emanue

相關問題