반응형
에 번역 글입니다.
Q : doInBackground 메소드에서 String… params의 의미가 어떤 뜻인가요?
public class AsyncHttpPost extends AsyncTask<String, String, String> {
private HashMap<String, String> mData = null;// post data
/**
* constructor
*/
public AsyncHttpPost(HashMap<String, String> data) {
mData = data;
}
/**
* background
*/
@Override
protected String doInBackground(String... params) {
byte[] result = null;
String str = "";
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(params[0]);// in this case, params[0] is URL
try {
// set up post data
ArrayList<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();
Iterator<String> it = mData.keySet().iterator();
while (it.hasNext()) {
String key = it.next();
nameValuePair.add(new BasicNameValuePair(key, mData.get(key)));
}
post.setEntity(new UrlEncodedFormEntity(nameValuePair, "UTF-8"));
HttpResponse response = client.execute(post);
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == HttpURLConnection.HTTP_OK){
result = EntityUtils.toByteArray(response.getEntity());
str = new String(result, "UTF-8");
}
}
catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
catch (Exception e) {
}
return str;
}
/**
* on getting result
*/
@Override
protected void onPostExecute(String result) {
// something...
}
}
Answer :
params[0]는 첫번째 스트링
params[1]는 두번째 스트링
params[2]는 세번째 스트링을 의미합니다.
doInBackground(String... params)
// params represents a vararg.
new AsyncHttpPost().execute(s1,s2,s3); // pass strings to doInbackground
params[0] is the first string
params[1] is the second string
params[2] is the third string
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 - 1. 간단한 계산기 만들기 (0) | 2017.09.17 |
---|---|
안드로이드 - Node.js서버로 POST방식으로 데이터를 보내기 (1) | 2017.09.16 |
안드로이드 - Node.js서버로부터 GET방식으로 데이터를 받기 (2) | 2017.09.16 |
안드로이드 - AsyncTask 파라미터 정리 (0) | 2017.09.15 |
안드로이드 - 원격 인터페이스 서비스 사용하기 (0) | 2015.12.08 |
안드로이드 - 데몬 백그라운드 서비스 (0) | 2015.12.07 |
안드로이드 - 동전 이미지를 드래그 해보자 (0) | 2015.12.05 |
안드로이드 - 드래그 섀도우 이미지 변경하기 (0) | 2015.12.05 |