Java 在android中将异步方法转换为同步方法

Java 在android中将异步方法转换为同步方法,java,android,asynchronous,Java,Android,Asynchronous,我有一些方法是异步的,所以我无法从中获得响应值,以便在其他地方使用(在本例中是改型回调方法)。那么,我们有没有办法将异步方法更改为同步方法并从中获取值呢?改型应该具有异步调用的同步对应项。签出。您只需在异步回调中处理结果,然后将其分派到其他业务逻辑上处理,例如控制器 在异步调用的return方法中继续程序的其余部分如果我们有代码可以查看,那么给出准确的答案会更容易。使用一个简单的对象.wait()和对象.notify()可能会起作用。@RaduIonescu我声明了全局变量,试图从该方法中获取值

我有一些方法是异步的,所以我无法从中获得响应值,以便在其他地方使用(在本例中是改型回调方法)。那么,我们有没有办法将异步方法更改为同步方法并从中获取值呢?

改型应该具有异步调用的同步对应项。签出。

您只需在异步回调中处理结果,然后将其分派到其他业务逻辑上处理,例如控制器

在异步调用的return方法中继续程序的其余部分如果我们有代码可以查看,那么给出准确的答案会更容易。使用一个简单的
对象.wait()
对象.notify()
可能会起作用。@RaduIonescu我声明了全局变量,试图从该方法中获取值,但仍然得到null@ortis它与CountDownLatch具有相同的功能吗?
我有一些异步的方法
-这个方法如何报告它已经完成了它的工作?是的,但是我们必须在onResponse()方法。现在我想得到它之外的响应值。你检查过链接吗?是的,对不起,我把1.9版和2.0版搞混了。我使用的是2.0,因此它将在onResponse()中返回值。您跳过了讨论同步调用的部分,这正是您感兴趣的。不是调用
enqueue()
并在onResponse中异步使用响应,而是调用
call.execute()
,这是一个返回所需数据的阻塞调用。等等,因为它是异步方法,所以可能在主线程上工作。当我运行NetworkOnMainThreadException时,我遇到了NetworkOnMainThreadException。您能告诉我更多关于控制器的信息吗?它是否用于观察者模式?