2013-02-17 1 views
1
StringBuilder sb = new StringBuilder(); 
sb.append("couponID=1"); 
sb.append("CouponName=Wendy"); 
sb.append("couponID=2"); 
sb.append("CouponName=Wen"); 
sb.append("couponID=3"); 
sb.append("CouponName=Danny"); 
URL Url; 
String url="http://example/upload"; 
try { 
Url = new URL(url); 
HttpURLConnection conn = (HttpURLConnection) Url.openConnection(); 
conn.setDoOutput(true); 
conn.setRequestMethod("POST"); 
OutputStreamWriter wr = new OutputStreamWriter(conn 
    .getOutputStream()); 

     wr.write(sb.toString()); 
wr.flush(); 
wr.close(); 
} catch (Exception e) { 
     System.out.println(e.toString()); 

} 

위 코드를 사용하면 서버에 값을 보내 겠지만 서버가 장치에서 보낸 값을 어떻게 가져 와서 테이블에 추가 할 수 있습니까? 이 같은안드로이드에서 PHP 웹 서버로 데이터를받는 방법

+1

몇 가지 코멘트. '&'변수를 사용하여 작성한 변수를 분리해야합니다. PHP가 처리 할 수 ​​없기 때문에 동일한 변수 이름을 두 번 사용하면 ('CouponName')주의해야합니다. ''Coupon3 = Danny "'를 대신 사용해보십시오. –

답변

1

대신 StringBuilder 코드를 사용 :

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
nameValuePairs.add(new BasicNameValuePair("id", "12345")); 
nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!")); 
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

완전한 예 : 이것에 http://www.androidsnippets.com/executing-a-http-post-request-with-httpclient

+0

좋아, 나는이 방법을 시도했다. 어떻게 여러 ID와 문자열을 보낼 수 있습니까? data.nameValuePairs.add (새 BasicNameValuePair ("id", "12345")); nameValuePairs.add (새 BasicNameValuePair ("stringdata", "AndDev는 좋습니다!")), nameValuePairs.add (새 BasicNameValuePair ("id", "12348")); nameValuePairs.add (새 BasicNameValuePair ("stringdata", "wassup"))); 복잡한 데이터의 경우 –

+0

으로 JSON을 사용합니다. – ernestinis

관련 문제