Android: как убедиться, что я написал правильно, используя httppost - PullRequest
0 голосов
/ 10 декабря 2011

У меня есть веб-адрес www.abc.com/check ... Я создал веб-сервис по этому адресу для получения данных.Через приложение для Android я отправляю некоторые данные на этот адрес, используя следующий код:

public class TestappActivity extends Activity {
    EditText ch;
    Button btn;
    InputStream is;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        ch=(EditText)findViewById(R.id.ch);
        btn=(Button)findViewById(R.id.btn);

        btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
            sendData();

            }
        });


    }


    private void sendData() {

          Log.i(getClass().getSimpleName(), "send  task - start");

            HttpParams p=new BasicHttpParams();
            p.setParameter("name", ch.getText());


          HttpClient client = new DefaultHttpClient(p);


          try {
                HttpResponse response=client.execute(new HttpPost("http://www.abc.com/check"));
                is=response.getEntity().getContent();

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



          Log.i(getClass().getSimpleName(), "send  task - end");

        }
}

Как я могу найти, если мое сообщение было успешным?Что я получу, когда выложу что-нибудь.

Ответы [ 2 ]

2 голосов
/ 10 декабря 2011

[обновить] Простое решение, вы можете просто проверить код состояния

response.getStatusLine().getStatusCode();  

Это целое число (200 означает, что ОК, 500 означает ошибку на сервере), Ссылка Здесь

Или полная проверка с использованием тела ответа

response.getEntity().getContent();

Он генерируется на сервере вашей службой, поэтому, если вы хотите убедиться, что вызов действительно успешен, вы можете вернуть что-то клиенту,например, XML-строка

"<status>OK</status>" 

в теле ответа будет достаточно.Вы получите его на клиенте, а затем сделаете все, что захотите.

Я рекомендую более простое решение.Спасибо шраддха

0 голосов
/ 10 декабря 2011

Я думаю, что baoz прав, но есть одна простая альтернатива этому.

response.getStatusLine.getstatuscode(); //200-successful

Он вернет числовой код ответа для успеха, а также для ошибки.Более того, если ответ отрицательный, он вернет вам соответствующий код ошибки, чтобы вы могли отслеживать и отлавливать эти ошибки.

С уважением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...