2014-01-15 2 views
-1

Я создал одну программу для Android, которая отправляет данные в Интернет.Httppost не работает

Вот мой код:

public void sendToweb() { 
    // get the message from the message text box 
    String msg = systemId1.getText().toString(); 
    // make sure the fields are not empty 
    if (msg.length() > 0) { 
     HttpResponse response = null; 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(
       "http://eservices.rondssolar.com/xbusiness.php"); 

     try { 
      List<NameValuePair> nameValuePairs = new   ArrayList<NameValuePair>(
        2); 
      nameValuePairs.add(new BasicNameValuePair("submit", "Save Tracker Data")); 
      nameValuePairs.add(new BasicNameValuePair("systemId", msg)); 

      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

      response = httpclient.execute(httppost); 



      Toast.makeText(getApplicationContext(), 
        "DATA SEND" + response.getStatusLine().toString(), 
        Toast.LENGTH_LONG).show(); 




     } catch (ClientProtocolException e) { 
      Toast.makeText(getApplicationContext(), e.toString(), 
        Toast.LENGTH_LONG).show(); 
      // TODO Auto-generated catch block 
     } catch (IOException e) { 
      Toast.makeText(getApplicationContext(), e.toString(), 
        Toast.LENGTH_LONG).show(); 
      // TODO Auto-generated catch block 
     } 

      } else { 
     // display message if text fields are empty 
     Toast.makeText(getBaseContext(), "All field are required", 
       Toast.LENGTH_SHORT).show(); 
    } 

} 

Моя проблема в том, что я не получаю никакого ответа back.Also данные, которые я послал не доступен в сети .И думаю, что мой ответ = httpclient.execute (HttpPost); Код не работает

+1

Вы можете сделать это из потока пользовательского интерфейса? И не получить ошибок? Или как вы используете этот метод? Добавьте логарифм, если у вас есть ошибки. –

+0

Я просто вызываю этот метод из меню – user3197627

+0

Так что ошибок нет, ничего не происходит? –

ответ

0

Вы можете оставить свой параметр в формате Json подобное:

Thread tSendToweb = new Thread(new Runnable() 

    { 
     @Override 
     public void run() 
     { 

      HttpClient hc = new DefaultHttpClient(); 
      String message; 

      HttpPost p = new HttpPost("http://eservices.rondssolar.com/xbusiness.php"); 
      JSONObject object = new JSONObject(); 
      try 
      { 
       object.put("systemId", systemId); 
      } 
      catch (Exception ex) 
      { 
       ex.printStackTrace(); 
      } 

      message = object.toString(); 

      try 
      { 
       p.setEntity(new StringEntity(message, "UTF8")); 
       p.setHeader("Content-type", "application/json"); 
       hc.execute(p); 
      } 
      catch (Exception e) 
      { 
       e.printStackTrace(); 
      } 


     } 
    }); 
    tAddLocation.start(); 
+0

спасибо, сэр, но как я могу написать веб-часть, используя php? – user3197627

Смежные вопросы