日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

android保持数据库,android – 保持Firebase实时数据库中的数据始终保持同步

發(fā)布時(shí)間:2024/10/12 数据库 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android保持数据库,android – 保持Firebase实时数据库中的数据始终保持同步 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我正在重新使用我的應(yīng)用程序,它通過(guò)從網(wǎng)站獲取原始數(shù)據(jù)來(lái)更新它的內(nèi)部SQLite數(shù)據(jù)庫(kù),而不是官方API.

由于這非常容易出錯(cuò),我想將數(shù)據(jù)處理從客戶端移到后端服務(wù)器中.

我們的想法是每天多次在服務(wù)器上運(yùn)行一個(gè)腳本 – 類似于之前的客戶端行為 – 并將數(shù)據(jù)存儲(chǔ)在Firebase實(shí)時(shí)數(shù)據(jù)庫(kù)中.然后,所有客戶端不再需要自己處理數(shù)據(jù),而是從Firebase數(shù)據(jù)庫(kù)請(qǐng)求解析的數(shù)據(jù).

我只是想知道保持?jǐn)?shù)據(jù)同步的最佳方法是什么.

我提出了兩個(gè)想法,但由于我對(duì)Firebase不太熟悉,我不知道什么是更好的.

首先,我可以想象通過(guò)在某些節(jié)點(diǎn)上使用keepSynced()和setPersistenceEnabled()來(lái)保持客戶端上的數(shù)據(jù)同步.

但我不確定這是否會(huì)在應(yīng)用程序處于后臺(tái)時(shí)保持?jǐn)?shù)據(jù)最新.我也擔(dān)心這種方法的電池和網(wǎng)絡(luò)使用情況.

第三點(diǎn)是同時(shí)連接的數(shù)量,我問(wèn)這種方法每個(gè)客戶端都會(huì)一直連接,對(duì)吧?

第二種方法是使用FCM在其感興趣的節(jié)點(diǎn)之一發(fā)生變化時(shí)通知客戶端,例如,使用Firebase云功能來(lái)偵聽(tīng)事件并觸發(fā)消息.

然后客戶端將goOnline()再次與數(shù)據(jù)庫(kù)和goOffline()同步.這將避免大量連接以及減少電池和網(wǎng)絡(luò)使用.

但我不確定如何在離線時(shí)保留設(shè)備上的所有數(shù)據(jù)?

我不想使用SQLite數(shù)據(jù)庫(kù)來(lái)保存設(shè)備上的數(shù)據(jù).

setPersistenceEnabled()是否足以在設(shè)備上保留特定數(shù)量的數(shù)據(jù)庫(kù)注釋?

或者兩者兼而有之?在所需節(jié)點(diǎn)上設(shè)置keepSynced()和setPersistenceEnabled(),并根據(jù)云消息設(shè)置goOnline()/ goOffline()?

任何基于自己的expiriences的幫助或建議歡迎!

總結(jié)

以上是生活随笔為你收集整理的android保持数据库,android – 保持Firebase实时数据库中的数据始终保持同步的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。