앞서 작성한 글에서 언급한 android에서의 기본적인 POST방식을 언급하지 않으려 했으나...
아무튼 적어보련다.
public HttpResponse sendData(String url, String encoding, Map param){
HttpResponse response = null;
try {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
List list = new ArrayList();
Iterator it = param.keySet().iterator();
while(it.hasNext()){
String key = (String)it.next();
list.add(new BasicNameValuePair(key,param.get(key).toString()));
}
httpPost.setEntity(new UrlEncodedFormEntity(list, encoding));
response = httpClient.execute(httpPost);
} catch (Exception e) {
Log.e("Error", "sendData", e);
}
return response;
}
앞선 2개의 글을 보신 분이라면 나름 내 스타일을 아실터...ㅋㅋ
사실 너무 간단한 소스라 별로 설명할건 없다.
추가로 response는 어찌할것인가.
public String getResponseContent(HttpResponse response){
StringBuilder sb = new StringBuilder();
try {
if(response!=null){
BufferedReader br = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String str;
while((str = br.readLine()) != null){
sb.append(str).append("\n");
}
}
} catch (Exception e) {
Log.e("Error", "getResponseContent", e);
}
return sb.toString();
}
response에서 내용을 추출하는 코드다.
내가 이렇게 사용한 이유는 이넘을 다시 JSONArray로 변환하기 위해서다.
만약 일반적인 parameter를 추출하기 원한다면
HttpEntity resEntity = response.getEntity();
이걸 이용해서 send하면서 담을때 처럼 거꾸로 사용하면 될듯하다.
해보지 않아서 어찌 할지는 정확하게 모르겠다.
하지만 일반적으로 XML, JSON을 사용한다면 String만 추출하면되니 문제는 없을듯하다.
#SCMInno #에스씨엠이노 #WEBDeK
댓글 없음:
댓글 쓰기