2016-02-18 82 views
2

我正在構建一個移動應用程序,以允許實時消息傳遞,結交用戶,創建用於聊天和分享圖片的羣組,以及創建用戶可以邀請彼此的事件。Firebase Online到Android離線數據存儲區

我選擇使用Firebase作爲在線後端。但是,鑑於Firebase使用NoSQL數據模型,而Android SQLite使用SQL,因此在Android中脫機保存數據時,傳統的處理方式是什麼?有沒有簡單的方法來轉換或簡單地從NoSQL保存到SQL,或者我需要建立一個轉換器?

(這是事件尤爲重要,因爲一旦產生,它們必須在AlamManager計劃,讓在事件時間用戶警報)

+3

Firebase在Android上建立了磁盤持久化功能:https://www.firebase.com/docs/android/guide/offline-capabilities.html#section-enabling-offline-support我不確定爲什麼「 d想要在其之上/之下實現不同的機制。 –

+0

您是否有特殊原因不使用Firebase的離線持久性解決方案?您是否希望以POJO格式提供離線數據? –

回答

0

雖然你可以實現你自己的解決方案,事實是,你不需要從頭開始構建任何東西。

有免費的Android庫可以幫助你。我建議你:

SimpleNoSQL

從火力地堡到SimpleNoSQL的過渡是相當直接的,而且大多是一樣的,如果你使用任何形式的SQL:

1)你獲得的數據從你的遠程數據庫:你可以通過請求到你的遠程服務器,只要它能夠返回你可以捕獲的響應,你使用的是什麼語言並不重要。

2)將上述數據保存到本地的NoSQL數據庫中:一旦獲得了所需的信息,就由您來決定如何處理它。您可以將其保存到TXT文件,SQLite數據庫,NoSQL數據庫,將其保存到SharedPreferences等。

希望有所幫助。

+1

查看進行查詢的代碼,這不是非常簡單也不容易......做最簡單的事情看起來非常麻煩 – Sauron

+0

我發現使用SQL庫更容易。與傳統的SQLite方式相比,它們更加簡單,併爲您節省大量編碼。但是,如果你發現SimpleNoSQL很難或者不能直接使用,你可能也不會喜歡這些。 – herrmartell