0

AsyncHTTPClient用来与我的服务器 API 通信。

我读过我必须使用它services来与服务器通信。

1)AsyncHTTPClient已经是service? 还是我仍然需要将所有使用的方法AsyncHTTPClient放入我自己的services?或者可以AsyncHTTPClient直接从我的活动中调用方法吗?

2)我不明白services应该如何正确使用。假设我不使用AsyncHTTPClient,但我有几个不同的操作可以调用服务器 API(获取 现实获取 用户发布 用户等)。我是否必须将每个操作放入单独的service? 如果不是,我如何从同一个服务调用不同的方法?我见过的所有示例总是表明只有一个动作会在 Activity 启动服务时自动调用。

3) 我找到了另一个 Android REST 库Retrofit - 它有什么优势AsyncHTTPClient吗?我需要把它放进去services吗?

4

1 回答 1

1

首先,我建议您使用 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 的教程链接,以及如何使用这个强大的库创建您的请求。

于 2015-04-11T07:45:58.657 回答