gpt4 book ai didi

android - 如何在 Retrofit 1.9 中执行同步 api 调用

转载 作者:行者123 更新时间:2023-11-30 01:39:20 25 4
gpt4 key购买 nike

我在同步调用 api 时遇到 android.os.NetworkOnMainThreadException 异常。我不能使用异步调用,因为我有很多 api,而下一个 api 取决于前一个 api 调用的输出。

怎么办?

最佳答案

在你的retroft接口(interface)中声明方法如下:

@GET("/v1/user_info/{id}")
UserSummaryResponse getSummary(@Path("id") String uId);

您需要在网络请求调用中启动一个新线程,并且不要忘记try catch。

    new Thread(new Runnable() {
@Override
public void run() {
try {
GetSummaryResponse summaryResponse = HttpClientManager.getInstance().userInterface.getSummary(uId);
userInfo = summaryResponse.userInfo;
setupUserInfo();
} catch (Exception e) {
withoutException = false;
Log.e(getTag(), e.getMessage());
}

}}).start();

关于android - 如何在 Retrofit 1.9 中执行同步 api 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34702274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com