Java 如何生成返回布尔值的异步方法?
我有以下方法:Java 如何生成返回布尔值的异步方法?,java,android,loopj,Java,Android,Loopj,我有以下方法: public static boolean getIsUp() { String method = "isup.php"; AsyncHttpResponseHandler response = new AsyncHttpResponseHandler(){ @Override public void onSuccess(String content) {
public static boolean getIsUp()
{
String method = "isup.php";
AsyncHttpResponseHandler response = new AsyncHttpResponseHandler(){
@Override
public void onSuccess(String content) {
if(Integer.parseInt(content) == IS_UP_CONTENT)
//code to return true
else
//code to return false
}
};
get(method, null, response);
}
如何填充//代码以返回true和//代码以返回false,从而使方法返回适当的响应?这可能吗?我认为,如果要立即返回结果,不应该在非异步方法中使用AsyncHttpResponseHandler 您可以使用和onPostExecute回调 此类允许在UI线程上执行后台操作和发布结果,而无需操纵线程和/或处理程序
在你继续之前,先阅读。在阅读的基础上。。。而不是if条件else并编写两次几乎相同的代码。。。为什么不直接返回正确的比较结果?@SotiriosDelimanolis oops,应该是一个整数。parseIntcontent而不仅仅是内容。你必须使用AsyncHttpResponseHandler吗。它是否提供回调机制?你能在返回的未来使用ScheduledExecutorService和block吗?@SotiriosDelimanolis我正在使用loopj的AsyncHttpClient,它使用AsyncHttpResponseHandler。我只是看了一下ScheduledExecutorService,它似乎是一个黑客解决方案。但这可能是因为我是一名C开发人员,我们只是习惯了async和Wait关键字,这些关键字基本上为您完成了所有这些。