Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 异步任务中的httpclient.execute(httppost)崩溃_Java_Android_Android Asynctask_Http Post_Androidhttpclient - Fatal编程技术网

Java 异步任务中的httpclient.execute(httppost)崩溃

Java 异步任务中的httpclient.execute(httppost)崩溃,java,android,android-asynctask,http-post,androidhttpclient,Java,Android,Android Asynctask,Http Post,Androidhttpclient,我试图为我的android应用程序创建一个服务器请求类,但它在httpclient.execute(httppost)上崩溃。即使是在try/catch内部,应用程序也会崩溃,而不是进入catch部分 代码: 公共静态JSONObject ConvertHttpResponse(HttpResponse响应)抛出ParseException、IOException、JSONException{ //In:httpResponse //Out:来自httpResponse的已转换jsonObjec

我试图为我的android应用程序创建一个服务器请求类,但它在httpclient.execute(httppost)上崩溃。即使是在try/catch内部,应用程序也会崩溃,而不是进入catch部分

代码:

公共静态JSONObject ConvertHttpResponse(HttpResponse响应)抛出ParseException、IOException、JSONException{
//In:httpResponse
//Out:来自httpResponse的已转换jsonObject
HttpEntity=response.getEntity();
字符串结果=EntityUtils.toString(实体);
JSONObject jObject=新JSONObject(结果);
if(jObject.length()=0)
返回null;
返回作业对象;
}
公共类DataAsyncSend扩展了AsyncTask{
GetCallback回调;
公共DataAsyncSend(GetCallback回调){
this.callback=callback;
}
@凌驾
受保护的JSONObject doInBackground(无效…参数){
HttpParams httpRequestParams=新的BasicHttpParams();
setConnectionTimeout(httpRequestParams,服务器连接超时);
HttpConnectionParams.setSoTimeout(httpRequestParams,服务器连接超时);
HttpClient=new DefaultHttpClient();
HttpPost=新的HttpPost(服务器地址+页面发送);
试一试{
post.setEntity(新的UrlEncodedFormEntity(数据));
HttpResponse response=client.execute(post);//此处崩溃
返回转换器httpresponse(response);
}捕获(例外e){
e、 printStackTrace();
返回null;
}
}
@凌驾
受保护的void onPostExecute(JSONObject响应){
progressDialog.disclose();
回调。完成(响应);
super.onPostExecute(响应);
}
日志:

10-21:16:45.284:W/EGL_genymotion(2711):未实现eglSurfaceAttrib

10-21 21:16:45.836:W/System.err(2711):org.json.JSONException:Value请发布错误日志/堆栈跟踪。确保在清单中使用internet权限,而不是所有异常ClientProtocolException、IOException、JSONException等…只需使用父类异常..catch(异常e){e.printStackTrace();返回null;}然后堆栈将显示我希望:)@ElliotM添加了日志file@user3553447我已经在用了
public static JSONObject ConvertHttpResponse(HttpResponse response) throws ParseException, IOException, JSONException {
    //In: A httpResponse
    //Out: A converted jsonObject from the httpResponse
    HttpEntity entity=response.getEntity();
    String result=EntityUtils.toString(entity);
    JSONObject jObject = new JSONObject(result);
    if(jObject.length()==0)
        return null;
    return jObject;
}
  public class DataAsyncSend extends AsyncTask<Void,Void,JSONObject> {
        GetCallback callback;

        public DataAsyncSend(GetCallback callback) {
            this.callback=callback;
        }

        @Override
        protected JSONObject doInBackground(Void... params) {
            HttpParams httpRequestParams = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpRequestParams, SERVER_CONNECTION_TIMEOUT);
            HttpConnectionParams.setSoTimeout(httpRequestParams, SERVER_CONNECTION_TIMEOUT);
            HttpClient client = new DefaultHttpClient();
            HttpPost post = new HttpPost(SERVER_ADRESS + pageToSend);
            try {
                post.setEntity(new UrlEncodedFormEntity(data));
                HttpResponse resposnse= client.execute(post); //crashes here
                return ConvertHttpResponse(resposnse);

            } catch (Exception e) {
               e.printStackTrace();
                return null;
            }

        }
    @Override
    protected void onPostExecute(JSONObject response) {
        progressDialog.dismiss();
        callback.done(response);
        super.onPostExecute(response);
    }
10-21 21:16:45.284: W/EGL_genymotion(2711): eglSurfaceAttrib not implemented
10-21 21:16:45.836: W/System.err(2711): org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject
10-21 21:16:45.836: W/System.err(2711):     at org.json.JSON.typeMismatch(JSON.java:111)
10-21 21:16:45.836: W/System.err(2711):     at org.json.JSONObject.<init>(JSONObject.java:158)
10-21 21:16:45.836: W/System.err(2711):     at org.json.JSONObject.<init>(JSONObject.java:171)
10-21 21:16:45.836: W/System.err(2711):     at Networking.ServerRequests.ConvertHttpResponse(ServerRequests.java:95)
10-21 21:16:45.836: W/System.err(2711):     at Networking.ServerRequests$DataAsyncSend.doInBackground(ServerRequests.java:122)
10-21 21:16:45.836: W/System.err(2711):     at Networking.ServerRequests$DataAsyncSend.doInBackground(ServerRequests.java:1)
10-21 21:16:45.836: W/System.err(2711):     at android.os.AsyncTask$2.call(AsyncTask.java:287)
10-21 21:16:45.836: W/System.err(2711):     at java.util.concurrent.FutureTask.run(FutureTask.java:234)
10-21 21:16:45.836: W/System.err(2711):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
10-21 21:16:45.836: W/System.err(2711):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
10-21 21:16:45.836: W/System.err(2711):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
10-21 21:16:45.836: W/System.err(2711):     at java.lang.Thread.run(Thread.java:856)
10-21 21:16:45.860: D/AndroidRuntime(2711): Shutting down VM
10-21 21:16:45.860: W/dalvikvm(2711): threadid=1: thread exiting with uncaught exception (group=0xa613e908)
10-21 21:16:45.860: E/AndroidRuntime(2711): FATAL EXCEPTION: main
10-21 21:16:45.860: E/AndroidRuntime(2711): java.lang.NullPointerException
10-21 21:16:45.860: E/AndroidRuntime(2711):     at com.example.fififun.User.<init>(User.java:22)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at com.example.fififun.login$2.done(login.java:114)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at Networking.ServerRequests$DataAsyncSend.onPostExecute(ServerRequests.java:133)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at Networking.ServerRequests$DataAsyncSend.onPostExecute(ServerRequests.java:1)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at android.os.AsyncTask.finish(AsyncTask.java:631)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at android.os.AsyncTask.access$600(AsyncTask.java:177)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at android.os.Looper.loop(Looper.java:137)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at android.app.ActivityThread.main(ActivityThread.java:5041)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at java.lang.reflect.Method.invokeNative(Native Method)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at java.lang.reflect.Method.invoke(Method.java:511)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
10-21 21:16:45.860: E/AndroidRuntime(2711):     at dalvik.system.NativeStart.main(Native Method)