2011-07-02 6 views
3

こんにちは、私は私が正常にサーバーにデータを送信することができ、サーバアンドロイドHttppost

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost("http://www.myurl.com/app/page.php"); 
// Add your data 
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(5); 
nameValuePairs.add(new BasicNameValuePair("name", "dave")); 
nameValuePairs.add(new BasicNameValuePair("taxi no", "354")); 
nameValuePairs.add(new BasicNameValuePair("pack", "0")); 
nameValuePairs.add(new BasicNameValuePair("exchk", "1")); 

try { 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

     try { 
      HttpResponse response = httpclient.execute(httppost); 
      String responseBody = EntityUtils.toString(response.getEntity()); 

     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } 

にデータを送信するために、コードの下に使用していますが、データのサーバ復帰大きな量(100KB-200キロバイト)したいですそのテキスト応答をjson object.soに変換するために、私はjsonオブジェクトを変換するためにすべての応答を1つの文字列に割り当てます。

しかし、その応答文字列のデータ量は少ないです。

私はそれが112kbファイルを送信するサーバーをチェックしましたが、レスポンス文字列のデータサイズはわずかです(50kb-75kb)。

だからuがいずれかが

+0

文字列の内容を読み取り、その内容を比較しようとします。 Stringのサイズを比較しない – Dharmendra

答えて

1

ArrayListには拡張可能なリスト項目で問題を解決するために私を導いてくださいすることができます。だから私は引数として "5"を使用する目的は何も分かりません。 2つ目はBasicNameValuePairに名前と値を引数として含むことです。名前属性には単一の単語を使用することをお勧めします。

String responseBody = EntityUtils.toString(response.getEntity()); 

を削除する。これは、読み取り可能な形式でページの内容を返す

try { 
HttpResponse httpResponse = httpClient.execute(httpPost); 

InputStream inputStream = httpResponse.getEntity().getContent(); 

InputStreamReader inputStreamReader = new InputStreamReader(inputStream); 

BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 

StringBuilder stringBuilder = new StringBuilder(); 

String bufferedStrChunk = null; 

while((bufferedStrChunk = bufferedReader.readLine()) != null){ 
    stringBuilder.append(bufferedStrChunk); 
    } 

return stringBuilder.toString(); 

} catch (ClientProtocolException cpe) { 
    System.out.println("First Exception caz of HttpResponese :" + cpe); 
    cpe.printStackTrace(); 
} catch (IOException ioe) { 
    System.out.println("Second Exception caz of HttpResponse :" + ioe); 
    ioe.printStackTrace(); 
} 

次のサンプルコードを追加します。その後、JSONObjectとJSONArrayを使用してJSONファイルに渡すことができます。