【问题标题】:Synchronize offline SQLite database with online MySQL database将离线 SQLite 数据库与在线 MySQL 数据库同步
【发布时间】:2017-01-06 12:15:46
【问题描述】:

我正在创建一个 Android 应用程序,它将数据存储在在线后端 MySQL 中,并将其存储在应用程序 sqllite 中。这意味着当用户在线时,数据与在线后端数据库同步到 sqlite 数据库。当用户离线时,他/她可以使用sqlite数据。这是正确的方法吗?或者我能做些什么来更好的解决方案?

【问题讨论】:

    标签: android mysql android-studio android-sqlite


    【解决方案1】:

    您应该使用同步适配器。

    在以下链接中查看它的工作原理,并进一步阅读文档以获取更多信息。

    https://developer.android.com/training/sync-adapters/index.html

    【讨论】:

    • 就像用户离线时使用标志将数据存储在sqlite数据库中,当用户在线时系统检查标志并与服务器同步对吗?我在以前的应用程序中做过,我需要更好的解决方案是 Sync Adapter 对我来说是新的
    • 实际上,您所做的总是使用本地数据库(sqlite),但是当用户可以访问互联网时,您会同步数据库。这样您就不会“使用”用户的移动互联网(如果他有 wifi 访问,那将不是问题)并且应用程序会更快,因为一切都是本地的。显然,您使用本地的数据,但您的请求或您对数据所做的任何事情都将在线,到您的服务。
    • 如您所说,我将所有内容都存储在离线状态,何时与在线同步以及如何在无需用户交互的情况下在后台与在线服务器同步?
    • 我对此并不完全确定,但我相信同步适配器中有一个方法。毕竟这正是它正在做的事情。你不需要在离线时停止一切,你只需无法与服务器交互。你可以做的是,将通常需要与服务器交互的每个操作存储在 sqlite 中,一旦用户上线,询问是否可以在他离线时做他想做的事情。或者问甚至在此之前,当他离线时(例如“您离线,但是当您可以访问互联网时,应用程序将自动完成所有操作)。
    • 当用户在线时,我如何在后台从 sqlite 上传数据,在这里查看我的应用程序 www.personaldiaryapp.com 我正在为这个应用程序进行更新,问题是当我在online asyntask 显示进度对话框,可能让用户交互加载感觉,我如何在后台将 sqlite 数据库同步到在线数据库?
    猜你喜欢
    • 2011-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    相关资源
    最近更新 更多