在Web应用程序和Android应用程序中使用相同的数据库文件

时间:2014-03-20 12:26:31

标签: android database sqlite

我在android应用程序中使用相同的数据库文件时有一个非常不同的情况 和网络应用程序。希望有人知道这个问题。

我有一个Web应用程序,其中包含一个包含大量数据的数据库。在那之后,我正在出口 该文件到我的PC和PC到.sqlite格式的Android设备。在这一点上,假设数据库中一个表的最后一个主键id是25.

现在,android app将使用该数据库文件进行操作。在同一张表中会有更多数据 插入。我们再说10个。现在最后一个主键ID是35(25 + 10)。

同时,如果我从网络应用程序向数据库中插入更多数据,那么就说3 更多。然后,最后一个主键ID将是Web应用程序数据库中的28(25 + 3)。

现在,我从Android设备中提取数据库文件并导入到Web应用程序以保留 记录  为了未来。 Web中的数据库文件具有与新数据相同的大部分数据 从Android设备导入数据库,因为它之前导出到Android应用程序。

现在我想合并两个数据库文件以生成一个单独的数据库文件并在Web应用程序中显示记录。为此,我想做的是;

  • 从两个数据库中过滤数据,不要保留相同的记录。
  • 管理以替换android应用程序数据库的主键ID,后跟最后一个 Web应用程序数据库的主键ID。像28 + 10 = 38现在新修改的数据库文件有38条记录。

请有人给我一些技术性的想法,因为我甚至很难谷歌。如果不清楚,我很抱歉。如果不清楚,请不要犹豫。

1 个答案:

答案 0 :(得分:0)

听起来很复杂,也许您应该考虑将数据处理完全转移到云数据库:A relational database shared by an android app and a website - the easy way

或者我建议在Android设备上有两个id键,即(_id,_id_server)。这样,当从Web导入数据库时​​,_id_server被填充并且已知,并且从电话到Web的任何未来更新都将被轻松过滤,因为它们没有_id_server值(新插入)或者值是否存在(更新)现有条目。)

我不喜欢在网络上改变id的想法,如果这样做可以看到很多有问题的场景。