有什么方法可以一直调用API并在Android中使用Retrofit获取最新数据吗?
Is there any methods to keep calling API and fetch the latest data using Retrofit in Android?
我正在创建一个类似于队列显示的应用程序。对于我的场景,队列数据总是在更新。除了使用 Handler 之外,是否有任何方法可以让我有效地调用 API 来获取最新数据。使用处理程序,可能可以解决我的问题,但这不是一个好习惯,因为每 5 秒持续调用 API,可能会导致服务器过载/内存问题?顺便说一句,API 是 restful API.
我了解到您需要在服务器上有最新数据时更新数据。
我认为您需要为服务器和客户端申请 Socket.io。当服务端有新数据时,会通过socket通知客户端。
方式一:服务端向客户端发送事件时,会发送最新的数据。
方法二:客户端收到事件后,会调用API获取最新的数据。
这是可取的,因为当用户数量很大时,它会节省资源。
我曾经遇到过像你这样的问题,我发现让客户一直打电话给 API 是一件坏事。
另一种方式是当用户点击或操作时你会调用API更新数据,但不推荐这样做
您可以使用 Retrofit
实现 RxJava
,以便在您的 Android 应用程序中每隔 x 秒调用一次 Retrofit 服务。
RxJava - is a Java VM implementation of ReactiveX a library for
composing asynchronous and event-based programs by using observable
sequences
为了创建一个在特定时间间隔后运行的 Retrofit 服务,我们可以使用以下内容:
- 处理程序(用于将数据从后台线程传递到 UI 线程)
- RxJava
使用 RxJava 我们可以做的远不止于此,而且使用 RxJava 运算符也非常容易。
我们可以使用间隔运算符在每个给定时间段后调用某个方法(在本例中为 retrofit 网络调用)。
Observable.interval
运算符用于在特定时间间隔后发出值。它看起来像这样:
Observable.interval(1000, 5000,
TimeUnit.MILLISECONDS);
1000
是发射开始前的初始延迟,每 5 秒重复一次。
我们可以订阅我们的观察者,它会在每 5 秒后调用 Retrofit 方法。
在某些时间间隔后调用 Retrofit 服务在提供实时更新的应用程序中相当常见,例如 Cricket Score 应用程序等
更多详情,
我正在创建一个类似于队列显示的应用程序。对于我的场景,队列数据总是在更新。除了使用 Handler 之外,是否有任何方法可以让我有效地调用 API 来获取最新数据。使用处理程序,可能可以解决我的问题,但这不是一个好习惯,因为每 5 秒持续调用 API,可能会导致服务器过载/内存问题?顺便说一句,API 是 restful API.
我了解到您需要在服务器上有最新数据时更新数据。
我认为您需要为服务器和客户端申请 Socket.io。当服务端有新数据时,会通过socket通知客户端。
方式一:服务端向客户端发送事件时,会发送最新的数据。
方法二:客户端收到事件后,会调用API获取最新的数据。
这是可取的,因为当用户数量很大时,它会节省资源。
我曾经遇到过像你这样的问题,我发现让客户一直打电话给 API 是一件坏事。
另一种方式是当用户点击或操作时你会调用API更新数据,但不推荐这样做
您可以使用 Retrofit
实现 RxJava
,以便在您的 Android 应用程序中每隔 x 秒调用一次 Retrofit 服务。
RxJava - is a Java VM implementation of ReactiveX a library for composing asynchronous and event-based programs by using observable sequences
为了创建一个在特定时间间隔后运行的 Retrofit 服务,我们可以使用以下内容:
- 处理程序(用于将数据从后台线程传递到 UI 线程)
- RxJava
使用 RxJava 我们可以做的远不止于此,而且使用 RxJava 运算符也非常容易。 我们可以使用间隔运算符在每个给定时间段后调用某个方法(在本例中为 retrofit 网络调用)。
Observable.interval
运算符用于在特定时间间隔后发出值。它看起来像这样:
Observable.interval(1000, 5000,
TimeUnit.MILLISECONDS);
1000
是发射开始前的初始延迟,每 5 秒重复一次。
我们可以订阅我们的观察者,它会在每 5 秒后调用 Retrofit 方法。
在某些时间间隔后调用 Retrofit 服务在提供实时更新的应用程序中相当常见,例如 Cricket Score 应用程序等
更多详情,