Java 使用AlertBox登录会导致第二次出现错误
对于登录,我使用的是一个对话框。这是第一次非常有效。但是在第二次(我的意思是:登录-工作,注销-工作,注销后第二次登录-失败)它说:Java 使用AlertBox登录会导致第二次出现错误,java,android,http,Java,Android,Http,对于登录,我使用的是一个对话框。这是第一次非常有效。但是在第二次(我的意思是:登录-工作,注销-工作,注销后第二次登录-失败)它说: 05-30 15:45:11.664: W/System.err(3228): org.apache.http.client.ClientProtocolException 05-30 15:45:11.664: W/System.err(3228): at org.apache.http.impl.client.AbstractHttpClient.ex
05-30 15:45:11.664: W/System.err(3228): org.apache.http.client.ClientProtocolException
05-30 15:45:11.664: W/System.err(3228): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:557)
05-30 15:45:11.675: W/System.err(3228): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
05-30 15:45:11.675: W/System.err(3228): at com.loopj.android.http.AsyncHttpRequest.makeRequest(AsyncHttpRequest.java:76)
05-30 15:45:11.675: W/System.err(3228): at com.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries(AsyncHttpRequest.java:95)
05-30 15:45:11.675: W/System.err(3228): at com.loopj.android.http.AsyncHttpRequest.run(AsyncHttpRequest.java:57)
05-30 15:45:11.694: W/System.err(3228): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
05-30 15:45:11.694: W/System.err(3228): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
05-30 15:45:11.694: W/System.err(3228): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
有人在过去也有同样的问题吗?第一次登录和注销运行良好,但第二次完全失败:/
编辑:
您是否为启动http请求实现了asynctask或单个线程?我使用的是loopj async http libI,我认为这与AlertDialog无关。您可以发布用于向服务器发送登录请求的代码吗?您可以打印
e
和errorResponse
吗?您确定这是安卓系统的问题,而不是您的服务器的问题吗?我知道手机应用程序崩溃了,但那可能是因为反应不好
public static void postRequestLogin(String url, RequestParams params) {
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
getRequestLogin(MainActivity.baseUrl + "index.php");
return;
}
@Override
public void onFailure(Throwable e, String errorResponse)
{
dialog.hide();
Toast.makeText(context, "Connection failed! Error: " + e.getMessage(), Toast.LENGTH_SHORT).show();
MainActivity.myCookieStore.clear();
dialog.show();
return;
}
});
}