首先,我建议您使用 Retrofit。我已经用过AsynHttp,但现在我用的是Retrofit,我很满意。
关于您问题中的主题:
我读过我必须使用服务与服务器通信。
你在哪里读到这个?我没有根据我的请求创建服务,所有这些都运行良好。创建请求时的要点是将它们放在后台线程中。因此,如果您不使用 AsyncHttp 或 Retrofit 之类的库,例如,您必须将您的请求放在AsynTask类中。
AsyncHTTPClient 已经是一项服务了吗?
不,它是一个用于发出异步 HTTP 请求的库。在lib 的网站上,他们说:
所有请求都是在您的应用程序的主 UI 线程之外发出的,您也可以在 Service 或后台线程中使用它。
也就是说,您可以在服务中使用它,他们并没有说您必须在服务中使用它。
该站点中的示例教如何使用此库制作 RestClient。这是一个很好的例子。您只需要创建一个静态类并放置方法来制作您的帖子,获取等
我不明白应该如何正确使用服务。
服务用于在后台进行长时间运行的操作。将服务与您的库(AsyncHttp 或 Retrofit)一起使用的一种可能方式是当您想要向服务器发出请求时,即使用户没有使用您的应用程序。因此,您可以创建一个带有计时器的服务,该计时器将按照您定义的时间间隔调用服务器。
Retrofit - 它比 AsyncHTTPClient 有什么优势吗?
回到 Retrofit,你不必再把它放在服务中。只有当你需要这个。从 threir 网站上,他们说:Retrofit 将您的 REST API 变成了 Java 接口。这使您的客户端非常简单,并且可以自我记录,因为对服务器 API 的每次调用都将成为该接口中的一个方法,我认为这是一个很大的优势。使用改造很简单。正如我所说,现在我改用 Retrofit,我可以说,这个 lib 有很好的文档和支持,它有很多用户。所以很容易找到一些错误的解决方案。另一个优点是它已经有库GSON,这对于解析您将从服务器 API 收到的 JSON 非常有用。
但是当然,谈论优势是危险的,因为您可以找到许多个人意见。请参阅此问题及其答案。我认为那里的一些答案也可以帮助您做出选择。
最后,这里有一些关于 Retrofit 的教程链接,以及如何使用这个强大的库创建您的请求。