2013-05-25 60 views
0

我想用两个参数从一个JSONObject发送POST请求的Python API,它的响应与真或假,但它并没有在所有的工作......的Android DefaultHttpClient()POST请求

我的代码:

// Create a new HttpClient and Post Header 
    HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost("http://10.30.0.47:8080/getsession"); 

    try { 
     // Add your data 
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
     nameValuePairs.add(new BasicNameValuePair("Name", db.getString("name"))); 
     nameValuePairs.add(new BasicNameValuePair("Passwort", db.getString("passwort"))); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

     // Execute HTTP Post Request 
     HttpResponse res = httpclient.execute(httppost); 
     Log.v("Response", res.toString()); 

    } catch (ClientProtocolException e) { 
     // TODO Auto-generated catch block 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
    } 

LogCat Output: http://pastebin.com/GL54UFGG

回答

4

在您的堆栈跟踪它明确规定:

05-25 20:42:05.455: E/AndroidRuntime(29706): Caused by: android.os.NetworkOnMainThreadException 

这意味着您正在MainUI线程中执行网络加载,您必须使用单独的线程进行网络工作,最好使用AsyncTask

+0

谢谢,这解决了它 –