android - 如何为事件列表构建 API,以便将来更新

标签 android ios iphone list api

我正在构建一个将由 Android 和 iPhone 应用程序使用的 API。该应用程序获取可以定期更新的事件列表。目前有两种想法。

  1. 使用分页创建它,以便它首先加载前 10 个事件以在屏幕上加载结果,当用户进一步滚动时它应该加载更多事件。然后我会定期轮询 API 以查看是否有任何新事件。

  2. 首先获取事件 ID 的分页列表(也是前 10 个),之后应用程序应在单独的线程中对每个事件使用一次调用来获取完整的事件详细信息。通过这种方式,它可以同时加载所有事件,据说这会使其速度更快。

我倾向于更倾向于第一个解决方案,因为它更简单,但其他人说第二个是更好的主意。我认为单独的线程只会增加案例的复杂性而不会显着提高速度。我知道最好的了解方法是对其进行测试,但是同时构建和测试它需要花费大量时间。因此,我想知道从 API 获取持续更新的事件列表是否有任何最佳实践。

所以;您认为这两者中哪一个最好,为什么?

最佳答案

这取决于您的事件包含的数据量。如果每个事件描述只有几个字段,请不要费心在单独的线程中加载每个事件,开销会扼杀任何可能的性能提升 - 只需在获取事件请求中获取所有数据即可。

如果每个事件描述有很多数据,您可以争论是否真的要在用户选择事件之前预加载所有事件描述 - 可能用户永远不会点击任何事件,那么您确实加载了数据免费。

也就是说,准备您的 API 以启用两者也是一个不错的主意:获取简短事件描述列表和调用以获取特定事件的事件详细信息(或事件 ID 列表),或者获取包含完整事件描述的列表。

关于android - 如何为事件列表构建 API,以便将来更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21277758/

相关文章:

android - su -c 在 Android (Linux) 中给出 "[1] Segmentation fault "

ios - 将应用上传到应用商店后出错

iphone - 滚动 UITableView 将停止 Timer

ios - 快速延迟的功能链

iphone - 如何让 UIPickerview 适应屏幕大小?

iphone - 使用libxml2 sax解析器时如何从xml中获取属性的名称和值?

android - 无法在 Android 设备中运行 PhoneGap 应用程序

java - 新手: how to access content from a shop/catalog like website?

android - 在 TextView 上使用 alpha 蒙版也会删除父 View alpha?

iOS:是否使用单例访问sqlite数据库