Android GitHub API 多个 HttpConnections 同时

Android GitHub API multiple HttpConnections same time

我正在开发使用 GitHub API 的 Android 应用程序。现在,在存储库屏幕的当前屏幕上,我需要获取:提交计数、发布计数、分支计数、贡献者计数、问题,并检查该存储库是否由经过身份验证的用户加注星标。我用 AsyncTask 实现了这个逻辑。我不喜欢 ExecuteOnExecutor 同时使用 6 个任务。我认为这不是好的做法,但我找不到其他方法。

  1. 能否请您给我一些提示,我怎样才能以其他方式执行该逻辑?
  2. 另外我想请教各位,提出这个GitHubAPI请求的最佳方式是什么?我无法决定使用什么技术 - AsyncTask 或 IntentService 或其他。

非常感谢!

您可以实施 SyncAdapter 并在本地存储数据。这样你就可以让数据在一定时间后(比如每天)在后台同步。这样做的最大好处是,即使您最近几天没有启动您的应用程序,您也可以离线查看最近的数据。您也可以手动运行 SyncAdapter 以确保最新数据。

AsyncTask 几乎总是错误的选择:复杂的错误处理、繁琐 API、不同 OS 版本的不同实现等

如果您愿意,我建议您看一下 Retrofit library. It has a really nice and easy API to make REST API calls and even parse the responses with GSON。此外,它还处理异步性。

如果您想更进一步,我鼓励您查看 rx-java。在你的情况下,这可能完全是矫枉过正,学习曲线非常陡峭,但如果你决定接受它,它会为如何优雅地处理像你这样的情况开辟无限的可能性。