[英]android how to send int and double as namevaluepair as http post
[英]Send double value with NameValuePair in Android
我正在嘗試通過Web服務連接到服務器。 在此Web服務中,我正在傳遞namevaluepairs的列表。 現在的問題是namevaluepair僅接受(String,String)參數。 我的服務器期望將價值翻倍。 因此,我無法將我的double轉換為字符串並將其傳遞(如服務器將其視為字符串並會拋出“格式錯誤”錯誤。
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("Name", mydoublevalue));
JSONArray jsonobj = jsonParser.makeHttpRequest_array(url,type, nameValuePairs);
有沒有出路? 還是我必須將服務器的雙精度類型更改為字符串,以便服務器期望使用字符串而不是雙精度?
這會將double值轉換為String。
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("Name", String.valueOf(mydoublevalue)));
JSONArray jsonobj = jsonParser.makeHttpRequest_array(url,type, nameValuePairs);
最終我只從Android方面做到了。
這就是我所做的。 我創建了自己的實現NameValuePair接口的類。 在那里,您可以在BasicNameValuePair中使用STRING,DOUBLE代替STRING,STRING。 這是代碼。
import org.apache.http.NameValuePair;
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);
}
}
然后,當您想添加到列表中時,只需執行
nameValuePairs.add(new DoubleNameValuePair("Latitude",21.3243));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.