簡體   English   中英

離線到在線同步數據庫

[英]Offline to Online Sync DB

我正在開發一個系統,我的客戶希望我提供離線服務和在線備份以及 iOS、Android 和 Windows 應用程序。

我需要的東西:

  1. 支持離線和在線(主)數據庫,可以在連接時同步。
  2. iOS 和 Android 也一樣,但我不擔心這些手機是否可以處理此類工作。
  3. 在 Android 和 iOS 的情況下使用什么來存檔這樣的目標。

用你得到的任何東西給我建議。

注意:除了后端,我還沒有決定任何東西,我將使用 Python 和 Django。 我還在設計過程中。

在android中,支持離線使用SQLite數據庫作為本地數據庫。

應用程序處於離線模式時,在SQLite中保存數據。

您需要編寫API以將數據發送到服務器。

當Internet連接可用時,您將本地數據發送到服務器。

創建一個狀態列,其中更新了數據發送到服務器后的狀態,然后將狀態設置為true。 下次只發送那些數據狀態為false。

首先,您需要確定用於脫機存儲的數據庫。 像Realm,SQLite。

第一個API將調用和響應數據將被轉儲到本地數據庫中。 下次你必須從本地數據庫中獲取數據並顯示出來。 並行地,一旦API返回您需要的數據,您必須在后台調用API,以檢查相同或不同的Repond數據和本地數據是否相同然后忽略其他明智的替換本地數據與API響應數據。

當您必須將數據發送到服務器時,您必須應用同樣的事情。 如果用戶離線,需要存儲在本地數據庫中,一旦他在線發送數據到服務器。

我建議使用Firebase數據庫(實時數據庫或Firestore)!

使用Firebase DB,當客戶端脫機時,他們會在本地緩存中寫入新數據,以便用戶可以像在線一樣享受您的應用。 當返回在線時,它們會自動與主機數據庫和所有設備同步,因此用戶可以享受真正的“實時”體驗。

此外,它提供了No-SQL可擴展數據結構,您可以節省您的時間。

此外,還有免費的Firebase計划,因此您可以使用Firebase DB自由嘗試構建一些迷你應用程序。

我發現這個問題只有 2 個真正的解決方案

  1. 火力基地
  2. 沙發數據庫

在投入生產后,通過 SQLite 或 LoocalStorage 進行同步會引發大量問題。 這是一場真正的噩夢,需要大量的經驗和努力才能繼續下去。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM