gpt4 book ai didi

android - 用于具有潜在多个用户的 Android 应用程序的 SQLite 数据库

转载 作者:IT王子 更新时间:2023-10-29 06:19:16 27 4
gpt4 key购买 nike

我有一个带有 SQLite 数据库的应用程序,用于存储用户帐户的信息。我设计数据库时假设应用程序只有一个用户。因此,用户的 ID 不存储在数据库中(但它存储在服务器上的中央数据库中)。然而,可以注销该应用程序并让另一个用户登录,但目前的问题是,他们的数据被下载,然后附加到另一个用户的数据中。这不是我想要发生的,但我不确定如何最好地更改数据库设计来解决这个问题。我想过:

  1. 每个用户一个数据库。如果用户只在他们 friend 的手机上登录一次而再也不会,则可能会导致不必要的数据存储。另外我想这可能很难管理。
  2. 将用户 ID 列添加到所有表中,这样追加不会造成问题。还有(1)有的多余数据问题,失去了1的模块化。
  3. 在用户注销时删除数据库。如果用户在服务器上有很多数据,应用启动时同步数据会花费很长时间(这将在另一个线程上完成,但仍然很痛苦)。

其中一种方法好吗?或者有更好的方法吗?

最佳答案

我会选择选项 1。将其保存为单独的文件将确保不会因拥有多个数据库而对性能产生任何影响。

您可以将用户 ID 附加到数据库文件名。你可以有某种 LRU 系统,如果你有超过 4 个(或者超过一定数量的数据),你会自动删除最旧的数据库。

此选择的具体细节将取决于您,因为您知道要用掉多少数据存储空间,以及有多少用户可能会在同一台设备上使用该应用。

关于android - 用于具有潜在多个用户的 Android 应用程序的 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7019784/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com