0

我正在开发一个 android 应用程序,该应用程序将一长串食谱名称拉入列表视图,用户可以对其进行过滤,然后单击以获取更多详细信息。初始配方列表将包含大约 1000 个条目,并将存储在一个不断变化的远程 mySQL 数据库中。在列表视图中单击单个配方后,将显示完整的配方。

我的问题如下。拥有一个将整个食谱列表拉入本地 SQLite 数据库的后台服务对我来说更好,还是应该在每次拉起列表视图时查询 mySQL 数据库?我不太担心离线使用,只是优化我的数据结构以允许庞大的用户群。

4

1 回答 1

0

为什么不执行以下操作:

让您的 SQLite 数据库存储一个日期,该日期表示上次从 MySQL Web 服务检索数据的时间。然后在您的 MySQL 数据库上确保您存储每个配方的配方添加日期。当您的用户启动应用程序时,您可以构建一个查询,该查询仅获取比存储在 SQLite 数据库中的日期更新的数据。这将显着减少下载时间和服务器压力。

由于您知道初始配方列表将包含大约 1000 个条目,因此您可以将其包含在您的 APK 中。这种方式从一开始就对 Web 服务器的查询将很小。然后随着时间的推移,您可能会决定在不同的发布版本中更新应用程序中的本地条目。

您可以使用后台服务进行交易,但我不会。您的客户可能不喜欢消耗电池电量的未知流程。对于小数据事务,您可能只是弹出一个进度对话框或在启动屏幕期间执行所有这些操作。

希望有帮助:)

于 2013-08-13T17:57:36.353 回答