我不知道如何从我拥有的扩展 AsyncTask 的 GetLogin 类中检索值。这是我的代码:
public class GetLogin extends AsyncTask<String, Void, String> {
private final HttpClient httpclient = new DefaultHttpClient();
final HttpParams params = httpclient.getParams();
HttpResponse response;
private String content = null;
private Context mContext;
public GetLogin(Context context){
this.mContext = context;
}
protected String doInBackground(String... urls) {
String result = null;
try {
DefaultHttpClient httpClient=new DefaultHttpClient();
Log.e("Tag", "url: " + urls[0]);
//Connect to the server
HttpGet httpGet = new HttpGet(urls[0].toString());
//Get the response
HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
InputStream stream = httpEntity.getContent();
//Convert the stream to readable format
result = convertStreamToString(stream);
Log.e("Tag", "Result: " + result);
if (result.charAt(1)=='1') {
return "Login Successful";
} if (result.charAt(1)=='0') {
return "Login Failed";
} else {
return result.toString();
}
// } catch (ClientProtocolException e) {
// Log.w("HTTP2:",e );
// content = e.getMessage();
// cancel(true);
// return "Could not connect to Server";
//
// } catch (IOException e) {
// Log.w("HTTP3:",e );
// content = e.getMessage();
// cancel(true);
// return "Could not connect to Server";
}catch (Exception e) {
Log.w("HTTP4:",e );
content = e.getMessage();
cancel(true);
return "Could not connect to Server";
}
}
public static String convertStreamToString(InputStream is)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
}
catch (IOException e) {
e.printStackTrace();
}
finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
}
这是登录活动的代码
String url = "http://192.168.1.107:6972/evalservice/checkLogin?name="+tvUsername.getText()+"&pass="+tvPassword.getText();
new GetLogin(LoginActivity.this).execute(url);
我想做的是放一个 if 语句来查看登录是否成功,如果是,则继续下一个活动