Http Post 请求在 Android 异步任务中给出空值?

Http Post request giving null in Android Async Task?

API 的 post 方法无效。 NewTask.execute() 给出了 "cannot resolve the symbol" 的错误。如果我删除这个 NewTask.execute(), API returns 什么都没有。

makePostRequestAsyncTask NewTask=新的makePostRequestAsyncTask(); NewTask.execute();

我有两个问题:

  1. 为什么给出无法解析符号错误?

  2. 为什么当 NewTask.execute() 被删除时它没有返回任何东西?

p.s:我是否正确使用了异步任务?由于我是初学者,所以不能确定。谢谢

    public void makePostRequest()
{
    class makePostRequestAsyncTask extends AsyncTask<Void, Void, String> {


        @Override
        protected String doInBackground(Void... params) {

            HttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost =

            try {
                httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
            } catch (UnsupportedEncodingException e) {
                // log exception
                e.printStackTrace();
            }


            //making POST request.
            try {
                HttpResponse response = httpClient.execute(httpPost);
                BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
                String response_body = reader.readLine();
                Log.d("Http Post Response:", String.valueOf(response));
              //  HttpResponse response = httpClient.execute(httpPost);
                // write response to log

              //  Log.d("Http Post Response:", response.toString());
            } catch (ClientProtocolException e) {
                // Log exception
                e.printStackTrace();
            } catch (IOException e) {
                // Log exception
                e.printStackTrace();
            }

            return null;
        }
        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);

            if(result.equals("working")){
                Toast.makeText(getApplicationContext(), "HTTP POST is working...", Toast.LENGTH_LONG).show();
            }else{
                Toast.makeText(getApplicationContext(), "Invalid POST req...", Toast.LENGTH_LONG).show();
            }
        }
        makePostRequestAsyncTask NewTask= new makePostRequestAsyncTask();
        NewTask.execute();

    }

}

您正在 AsyncTask 内部进行初始化和执行。

   }
    makePostRequestAsyncTask NewTask= new makePostRequestAsyncTask();
    NewTask.execute();
}// AsyncTask your class close here

do 表示在关闭 AsyncTask 之后

    }
}// AsyncTask your class close here
makePostRequestAsyncTask NewTask= new makePostRequestAsyncTask();
    NewTask.execute();