我试图创建一个AsyncTask来从服务器端获取一些数据.但是它在onPostExecute()的行中报告了一个Null指针异常“IoUtils.copy((response_.getEntity().getContent()),writer);”我使用一些日志来查看发生了什么,发现日志1和3被打印但log 2没有.为什么在client.executed()完成之前执行了onPostExecute?有人可以给点建议吗?
private class GetForm extends AsyncTask<String,Integer,Object> { private HttpResponse response_; private Exception exception_; private String url_; public GetForm(String url) { super(); url_ = url; } protected Object doInBackground(String... params) { try { Log.i("mylog","inside doInbackground 1."); HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(url_); response_ = client.execute(request); Log.i("mylog","inside doInbackground 2."); } catch (Exception e) { exception_ = e; } return response_; } @Override protected void onPostExecute(Object o) { // Your current UI stuff here. Log.i("mylog","inside onPostExecute 3."); StringWriter writer = new StringWriter(); try{ IoUtils.copy((response_.getEntity().getContent()),writer); ...... }catch(IOException e) { e.printStackTrace(); } } }