如果作为参数传递,“字符串…参数”是什么意思?

我在网上找到了这段代码,其中有一部分我不理解。对于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...

}

}

回答:

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

http://developer.android.com/reference/android/os/AsyncTask.html#doInBackground(Params

…)

异步任务的参数传递给 doInBackground

以上是 如果作为参数传递,“字符串…参数”是什么意思? 的全部内容, 来源链接: utcz.com/qa/429653.html

回到顶部