gpt4 book ai didi

java - 使移动应用程序中的内容动态化

转载 作者:行者123 更新时间:2023-11-28 17:40:51 26 4
gpt4 key购买 nike

我制作了一个使用 SQLite 数据库的 iphone 应用程序,该数据库预先填充了问题/答案。每次我想更正问题/向数据库添加问题时,我都必须更新应用程序并将其提交给 Apple。我最近才开始理解一些 JAX-RS API,并且我已经通过 REST 提供了问题等,并将它们公开为 XML。所以我现在想要的是使用来自网络的数据而不是固定数据库,但我有一些问题:

  • REST 和我描述的方式是一种“有效”的实现方式吗?
  • 我需要这些问题可以离线使用,所以我想到下载文件到设备并定期检查是否有更新的文件可用并下载。

可能是愚蠢的问题,但我之前没有做过太多网络服务,所以我会很感激任何帮助和想法:=)

最佳答案

  • 您需要在服务器中有一个数据库(在数据库中读取:“以您喜欢的任何方式存储的数据 block ,无论是纯文本、xml 还是 sql”)来存储您的问题。
  • 您需要有一个界面来查询这些问题。
    • 一个简单(但不是很优化)的想法是以 xml 格式存储该数据库,并使应用定期(或通过用户输入)获取该 xml 并解析它。
    • 一个更复杂和更好的方法是让应用程序说出它上次检索问题的“时间”,并仅提供包含差异的 xml。
    • 您的 REST 方法很好,可能是我上面描述的方法之一(您使用 REST 以“简单”方式或“更复杂”方式返回它。但是如果您不需要任何身份验证,您可能不需要那么多开销。最终,这取决于您和您的需求。
  • 解析该文件(我以 XML 为例,但您可以使用 JSON、CSV 等)
  • 将数据存储在您的设备中。
    • 如果您使用的是“简单”方法,您可以删除整个数据库并使用 xml 重新创建它
    • 如果您使用“更复杂”的方法,您应该只添加您得到的内容,因为您的服务器应该只提供新问题

陷阱:

  • 您的数据库不需要在应用程序包内,否则您将无法写入(您只能在模拟器上写入,不能在设备上写入)
  • 您应该仔细权衡如何在设备上存储这些问题(如果它是仅限 iOS 的应用程序,我推荐 CoreData)

如果您想在您的应用程序图标(称为“角标(Badge)”)中显示带有数字(在本例中为更新次数)的“红球”,您应该使用通知,您需要在您的站点数据库中向客户注册标识符,并且每次有更新时,您都应该通知每个客户。这不是微不足道的,我相信您应该首先实现应用程序搜索数据的解决方案,然后再反过来。

如果您想了解有关通知的更多信息,您可以使用:

请注意,这并非一成不变。还有其他方法(无论如何应该),但这是我在需要更新客户数据库时使用的工作流程。

希望它能为您指明正确的方向。随时要求澄清(如果需要)。

关于java - 使移动应用程序中的内容动态化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8182191/

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