试图在方法|NetworkOnMainThreadException中调用改装执行



我正在尝试调用方法中的登录接口。

我正在使用安卓工作室登录模板进行登录。

public class LoginDataSource {
public Result<LoggedInUser> login(String username, String password) {
try {
Response<LoggedInUser> response = API.getLoginService().login(username, password).execute();
return new Result.Success<>(response.body());
} catch (Exception e) {
return new Result.Error(new IOException("Error logging in", e));
}
}
public void logout() {
// TODO: revoke authentication
}
}

这是因为您从主线程(UI线程(调用此方法,主线程不用于繁重的处理和网络调用,如果您想调用API,则从后台线程调用它。

execute()方法运行在主线程中需要异步任务将其放在后台线程中,也可以使用enqueue()方法,enqueue将从后台线程调用API。

相关内容

  • 没有找到相关文章

最新更新