gpt4 book ai didi

java - 从 Android 中的 Asynctask 返回 boolean 值

转载 作者:行者123 更新时间:2023-12-02 05:57:53 25 4
gpt4 key购买 nike

我是安卓新手。我想要做的只是将 URL 传递给 Asynctask,然后检查是否返回状态代码 SC_OK 。如果返回状态代码 SC_OK,则该方法应返回 true;如果返回任何其他状态代码,则该方法应返回 false。

class checking extends AsyncTask<String, Void, Boolean> {

@Override
protected Boolean doInBackground(String... params) {
// TODO Auto-generated method stub
Boolean a;
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(l1);
HttpResponse response;
try {
response = client.execute(httpGet);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
Toast.makeText(getApplicationContext(),"No", Toast.LENGTH_LONG).show();
a= false;
}
else {
Toast.makeText(getApplicationContext(),"Yes", Toast.LENGTH_LONG).show();
a= true;
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
return false;
}
}

@Override
protected void onPostExecute(Boolean result) {

}
}

最佳答案

将整个事情更改为(盲编码):

class checking extends AsyncTask<String, Void, Boolean> {
@Override
protected Boolean doInBackground(String... params) {
// TODO Auto-generated method stub
Boolean a;
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(l1);
HttpResponse response;
try {
response = client.execute(httpGet);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
a = false;
} else {
a = true;
}
return a;
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
@Override
protected void onPostExecute(Boolean result) {
Toast.makeText(getApplicationContext(), (result ? "Yes" : "No"), Toast.LENGTH_LONG).show();
}
}

关于java - 从 Android 中的 Asynctask 返回 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22917762/

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