2011-12-10 7 views
0

私はウェブアドレスwww.abc.com/checkを持っています...私はデータを受け取るためにこのアドレスにウェブサービスを作成しました。アンドロイド:httppostを使って正しく投稿したことを確認する方法

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

は、[更新]シンプルなソリューション、あなただけの完全に使用することにより確認し、それは整数(200はOKを意味し、500はサーバー上のエラーを意味します)ですReference Here

やステータスコード

response.getStatusLine().getStatusCode(); 

を確認することができますレスポンスボディ

response.getEntity().getContent(); 

は、それはあなたのサービスにより、サーバー上で生成されるので、あなたが呼び出しを保証したい場合は、本当に成功している、あなたは、cに何かを返すことができますリュート。例えばXMLストリング

"<status>OK</status>" 

応答本体で十分でしょう。あなたはクライアントでそれを取得し、あなたが何をしたいのかを行います。

もっと簡単な解決策をお勧めします。ありがとうshraddha

0

私はバオズが正しいと思いますが、これには簡単な方法があります。

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

成功とエラーのための数値応答コードを返します。さらに、応答が否定的な場合は、関連するエラーコードが返され、そのエラーを追跡してキャッチできます。

よろしくお願いいたします。