我想送一个数组名称值对httppost.My服务器接受values.The以下仅数组是我的code段。
公共字符串SearchWithType(字符串CATEGORY_NAME,字符串[]类型,INT page_no){
字符串URL =HTTP:// myURL;
StrictMode.ThreadPolicy政策=新StrictMode.ThreadPolicy.Builder()
.permitAll()建立()。
StrictMode.setThreadPolicy(政策);
字符串的auth_token = Login.authentication_token;
字符串键= Login.key;
HttpClient的HttpClient的=新DefaultHttpClient();
HttpPost httppost =新HttpPost(URL);
尝试 {
名单<的NameValuePair> namevaluepairs中=新的ArrayList<的NameValuePair>();
nameValuePairs.add(新BasicNameValuePair(authentication_token
的auth_token));
nameValuePairs.add(新BasicNameValuePair(键,键));
nameValuePairs.add(新BasicNameValuePair(CATEGORY_NAME
CATEGORY_NAME));
INT I = 0;
nameValuePairs.add(新BasicNameValuePair(类型,输入[I]));
nameValuePairs.add(新BasicNameValuePair(网页,将String.valueOf(page_no)));
httppost.setEntity(新UrlEn codedFormEntity(namevaluepairs中));
HTT presponse响应= httpclient.execute(httppost);
HttpEntity实体= response.getEntity();
欧盟= EntityUtils.toString(实体)的ToString();
}赶上(IOException异常IOE){
串恩= ioe.toString();
返回前;
}
返回欧盟;
}
解决方案
我得到了issue..the问题是
尝试{
名单<的NameValuePair> namevaluepairs中=新的ArrayList<的NameValuePair>();
nameValuePairs.add(新BasicNameValuePair(authentication_token
的auth_token));
nameValuePairs.add(新BasicNameValuePair(键,键));
nameValuePairs.add(新BasicNameValuePair(CATEGORY_NAME
CATEGORY_NAME));
INT I = 0;
nameValuePairs.add(新BasicNameValuePair(类型,输入[I]));
nameValuePairs.add(新BasicNameValuePair(网页,将String.valueOf(page_no)));
httppost.setEntity(新UrlEn codedFormEntity(namevaluepairs中));
HTT presponse响应= httpclient.execute(httppost);
HttpEntity实体= response.getEntity();
欧盟= EntityUtils.toString(实体)的ToString();
所有我所要做的就是intilize一个循环
的for(int i = 0; I< type.length;我++){
nameValuePairs.add(新BasicNameValuePair(键入[]中,键入[I]));
}
I want to send a array as name value pair as httppost.My server accepts only array values.The following is my code snippet..
public String SearchWithType(String category_name, String[] type,int page_no) {
String url = "http://myURL";
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
String auth_token = Login.authentication_token;
String key = Login.key;
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("authentication_token",
auth_token));
nameValuePairs.add(new BasicNameValuePair("key", key));
nameValuePairs.add(new BasicNameValuePair("category_name",
category_name));
int i = 0;
nameValuePairs.add(new BasicNameValuePair("type", type[i]));
nameValuePairs.add(new BasicNameValuePair("page", String.valueOf(page_no)));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
eu = EntityUtils.toString(entity).toString();
} catch (IOException ioe) {
String ex = ioe.toString();
return ex;
}
return eu;
}
解决方案
i got the issue..the issue was
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("authentication_token",
auth_token));
nameValuePairs.add(new BasicNameValuePair("key", key));
nameValuePairs.add(new BasicNameValuePair("category_name",
category_name));
int i = 0;
nameValuePairs.add(new BasicNameValuePair("type", type[i]));
nameValuePairs.add(new BasicNameValuePair("page", String.valueOf(page_no)));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
eu = EntityUtils.toString(entity).toString();
all i had to do was intilize a loop
for (int i = 0; i < type.length; i++) {
nameValuePairs.add(new BasicNameValuePair("type[]",type[i]));
}