如果您必須使用NameValuePair
,有兩種可能的解決方案。
您可以將Map
轉換爲NameValuePair
的List
:
List<NameValuePair> convertParameters(Map<String, Double> parameters) {
List<NameValuePair> result = new ArrayList<NameValuePair>();
for (Entry<String, Double> entry : parameters.entrySet()) {
result.add(new BasicNameValuePair(entry.getKey(), entry.getValue().toString()));
}
return result;
}
或者你可以實現一個新的NameValuePair處理Double值:
public class DoubleNameValuePair implements NameValuePair {
String name;
double value;
public DoubleNameValuePair(String name, double value) {
this.name = name;
this.value = value;
}
@Override
public String getName() {
return name;
}
@Override
public String getValue() {
return Double.toString(value);
}
}
在後一種情況下,你可以使用可直接傳遞給UrlEncodedFormEntity構造函數的NameValuePair列表:
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new DoubleNameValuePair("lat", 1.0));
parameters.add(new DoubleNameValuePair("lng", 2.0));
來源
2010-06-22 09:56:24
frm
試圖發送一個HTTP請求,如果我這樣做,我收到了.. 「構造UrlEncodedFormEntity(地圖<字符串,雙>)是未定義」 error on line .. httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); – Skizit 2010-06-22 09:26:16