首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Android上接收实时API数据更新?

如何在Android上接收实时API数据更新?
EN

Stack Overflow用户
提问于 2020-02-04 09:18:50
回答 3查看 1.8K关注 0票数 1

我正在努力在我的android应用程序上接收实时API数据更新。我反对轮询,因为它耗尽了电池,并且不赞成任何需要每5分钟左右手动检查数据更新的事情。有没有一种更简单的方法来实现这一点,而无需应用程序不断轮询或手动检查API端的数据是否已更新?

我在考虑向服务器上的某种更新添加一个侦听器,但不确定这是否是一个可行的方法。我已经提到:How to do live updates on an android app和其他在线线程,但没有什么真正有帮助的。下面是我如何使用可观察性检索当前数据的一个示例:

代码语言:javascript
复制
 getCompositeDisposable().add(getDataManager()
                .getGuestListApiCall(AppPreferencesHelper.getInstance().getCurrentUserId())
                .subscribeOn(getSchedulerProvider().io())
                .observeOn(getSchedulerProvider().ui())
                .subscribe(response -> {

                  // using the parsed response here.
             }, throwable -> {
                    if (!isViewAttached()) {
                        return;
                    }

                    // handle the error here
                    if (throwable instanceof ANError) {
                        ANError anError = (ANError) throwable;
                        handleApiError(anError);
                    }
                }));

你知道该怎么做吗?任何示例应用程序都可以使用某种虚拟api来帮助查看实时更新结果。

提前感谢!

EN

回答 3

Stack Overflow用户

发布于 2020-03-11 23:50:15

如果我理解你的问题,你想从API中实时获取实时数据,或者每5分钟获取一次,所以要做到这一点,你必须使用SOCKET.IO,我希望这对你有帮助。

票数 1
EN

Stack Overflow用户

发布于 2020-03-11 23:56:47

我在聊天应用程序中实现的是,当有人向我发送消息时,我将服务器配置为向我发送带有聊天id的fcm推送通知。当我收到推送通知时,我会调用API来获取聊天的详细信息。此方法可能会对您有所帮助。如果您需要代码详细信息,请让我知道。

票数 0
EN

Stack Overflow用户

发布于 2020-03-12 00:03:53

您应该使用推送通知。它们不仅在你的应用程序在后台或未运行时工作,而且在你的应用程序打开时也能工作。

不推荐使用您自己的websocket连接,并且当您的应用程序关闭时也不会起作用。

GCM系统基本上在Android设备和Google的GCM/Firebase服务器之间维护单一的websocket连接。由于这是Android系统的一部分,它可以在给它的推送通知到达时唤醒你的应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60049308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档