【发布时间】:2022-01-02 02:16:44
【问题描述】:
正如标题一样,我希望能够在每次 Retrofit 调用的值发生变化时通知我。在onCreate() 中只调用一次此代码是否可行?场景是这样的。我制作了一款 RPG 游戏。例如,希望在应用程序启动时通知特定用户的黄金数量(这可行)。然后用户杀死了一个怪物并获得了一些金币(又一次进行了改造调用),所以服务器上的金币数量发生了变化,现在我也想得到通知(这里是它不起作用的地方)。
API接口:
@GET("/getGold")
Observable<String> getGold(@Query("name") String name);
活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
(...)
Api.getClient1Or2().getGold("Admin")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(string -> Log.d("string", string));
}
那么如何修改这段代码呢?
提前谢谢你!
【问题讨论】:
-
您可能想研究使用 WebSockets,以便服务器可以推送更改。像这样使用休息,您可以进行轮询更改,向 GET 端点发出一大堆请求。