android:如何确保我使用httppost正确发布

时间:2011-12-10 05:14:45

标签: android web-services http-post

我有一个网址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 个答案:

答案 0 :(得分:2)

[更新]简单的解决方案,您只需检查状态代码

即可
response.getStatusLine().getStatusCode();  

这是一个整数(200表示正常,500表示服务器上的错误),Reference Here

或使用响应正文

进行全面检查
response.getEntity().getContent();

它是由您的服务在服务器上生成的,因此如果您想确保调用确实成功,您可以将某些内容返回给客户端。例如XML字符串

"<status>OK</status>" 
在响应体中

就足够了。你将在客户端获得它,然后做你想做的任何事情。

我推荐更简单的解决方案。谢谢shraddha

答案 1 :(得分:0)

我猜baoz是对的,但有一个简单的替代方案。

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

它将返回数字响应代码以获得成功和错误。此外,如果响应为负,它将返回相关的错误代码,以便您可以跟踪并捕获这些错误。

问候。