致命异常:AsyncTask#2(将android连接到服务器失败)

时间:2016-07-24 10:39:29

标签: android android-asynctask

我正在尝试将我的Android应用程序连接到服务器,以使用PHP和SQL发送和检索数据。我在我的android AsyncTask中使用了这段代码

protected String doInBackground(String... params) {


        String sender=params[0];
        String receipent=params[1];
        String mess=params[2];


        try {
            URL url=new URL("http://muzamilbukhari.******/******.php");
            HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();
         httpURLConnection.setRequestMethod("POST");
            httpURLConnection.setDoInput(true);
            httpURLConnection.setDoOutput(true);

            OutputStream outputStream=httpURLConnection.getOutputStream();

            BufferedWriter bufferedWriter=new BufferedWriter(new OutputStreamWriter(outputStream));

            String info= URLEncoder.encode("from","UTF-8")+"="+URLEncoder.encode(sender,"UTF-8")+"&"+URLEncoder.encode("to","UTF-8")+"="+
                    URLEncoder.encode(receipent,"UTF-8")+"&"+URLEncoder.encode("message","UTF-8")+"="+URLEncoder.encode(mess,"UTF-8");

            bufferedWriter.write(info);
            bufferedWriter.flush();
            outputStream.close();
            bufferedWriter.close();

            InputStream inputStream=httpURLConnection.getInputStream();
            BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));

            String line;

            while ((line=bufferedReader.readLine())!=null){
                result+=line;

            }

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


        return result;
    }

但它有时有效并且下一刻不起作用。我收到了以下错误:

1 Please Click here to see Error

2 Please Click here to see Error

以下是Logcat:

    --------- beginning of crash
       07-25 11:53:46.209 2851-2910/com.example.muzamil.chatapp E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
                                                                       Process: com.example.muzamil.chatapp, PID: 2851
                                                                       java.lang.RuntimeException: An error occurred while executing doInBackground()
                                                                           at android.os.AsyncTask$3.done(AsyncTask.java:309)
                                                                           at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
                                                                           at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
                                                                           at java.util.concurrent.FutureTask.run(FutureTask.java:242)
                                                                           at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
                                                                           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                                                           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                                                           at java.lang.Thread.run(Thread.java:818)
                                                                        Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
                                                                           at com.example.muzamil.chatapp.Utility.parse(Utility.java:9)
                                                                           at com.example.muzamil.chatapp.MainActivity$LoginData.doInBackground(MainActivity.java:101)
                                                                           at com.example.muzamil.chatapp.MainActivity$LoginData.doInBackground(MainActivity.java:55)
                                                                           at android.os.AsyncTask$2.call(AsyncTask.java:295)
                                                                           at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                           at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 
                                                                           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
                                                                           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
                                                                           at java.lang.Thread.run(Thread.java:818) 

07-25 11:53:46.619 2851-2908 / com.example.muzamil.chatapp E / Surface:getSlotFromBufferLocked:unknown buffer:0xaa2a10e0

                                                                [ 07-25 11:53:46.657  1556: 6510 D/         ]
                                                                HostConnection::get() New Host Connection established 0x9eb91020, tid 6510

07-25 11:56:02.018 2851-2857 / com.example.muzamil.chatapp W / art:暂停所有线程:11.490ms

0 个答案:

没有答案