android - 如何从服务器更新数据库

标签 android database

我正在制作 Android 应用程序,但我遇到了问题。我不知道从我的服务器更新客户端应用程序中的数据库的最佳方法是什么(如果用户单击“检查更新”按钮)。我应该如何在客户端设置当前数据库版本,以便我可以尝试与服务器中的最新数据库版本进行比较?如果有任何新的数据库更新,我应该如何从服务器检查?我应该使用 PHP/java 服务器吗?

我的案例: 用户安装了带有 sqlite 数据库版本 1.0 的我的应用程序 但后来,我将 sqlite 数据库更新到 2.0 版并将其上传到服务器(我还没有想过我将使用哪种服务器,有什么想法(java 或 php)?) 我希望当用户单击“检查更新”时,应用程序将检查最新的数据库版本,如果最新的数据库版本是 2.0(>1.0),那么它将下载并替换旧的 sqlite 数据库(1.0)。 我应该如何在客户端(Android)设置sqlite数据库版本并将其与服务器端的最新版本进行比较?

任何帮助将不胜感激。 谢谢 !

最佳答案

根据您对 this answer 的评论...

如果您的问题就这么简单,我建议您执行以下操作:

  • 通过 HTTP 向您的服务器请求最新的最新数据库状态(它可以返回时间戳或数据库版本),例如使用 http://www.yourserver.tld/?dbversion
  • 如果您的本地数据库小于返回的时间戳或版本,您可以从服务器中提取数据库,例如使用 http://www.yourserver.tld/?dbget
  • 之后您保留时间戳或版本(例如在共享首选项中)

您的服务器始终知道哪个版本是最新的并且可以更新返回的时间戳或返回的(和递增的)版本号...

PHP 或 Java:我会推荐 PHP 来完成这样一个简单的任务(也因为每个网站空间都提供该选项)。我会通过一个简单的 GET 请求(如之前演示的)意识到这一点。 Java 有点矫枉过正(但仍有可能)。

关于android - 如何从服务器更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7733974/

相关文章:

android - 寻找新的 Google 日历时间和日期选择器小部件的源代码

sql-server - 创建一个可以(包括一些)或(包括除了一些以外的所有)记录的连接

c# - 如何更改已部署的Azure应用程序中的连接字符串

java - 使用补间动画缩小尺寸后,imageview 单击监听器仍然有效

Android Actionbar 改变菜单位置

php - 计算一个值出现的次数并将计数发送到另一列?

php - 提交详细信息后如何检索 id

mysql - 如何构建周末+年度休息/休息日组合存储的数据库?

android - RecyclerView - 如何通过方向键/键盘选择项目

java - Android Studio 看不到 TextView ID