[英]I want to build a generic HttpPost function in Java that will parse name value pairs from an array
我有一個從Web服務讀取JSON的功能:
public String readJSONFeed(String URL, String userName, String password){
...
List<NameValuePair> params = new ArrayList<NameValuePair>(2);
params.add(new BasicNameValuePair("userName", userName));
params.add(new BasicNameValuePair("password", password));
...
}
我從AsyncTask調用它:
EditText userName = (EditText)findViewById(R.id.txtUserName);
EditText password = (EditText)findViewById(R.id.passWord);
return readJSONFeed("http://service.com/service.php", userName.getText().toString(), password.getText().toString());
我的問題是如何使readJsonFeed泛型並使它將數組解析為名稱值對。
您可以嘗試使用String ... params,然后使用params [0],params [1]等獲取值。這會使事情變得有些復雜,因為您需要param的名稱和值,但是可以將名稱,值,在將參數發送給方法時始終應這樣,並確保參數始終成對出現。
例如:
public String readJSONFeed(String ... params){
if (params.lenght % 2 != 0) return null;
List<NameValuePair> params = new ArrayList<NameValuePair>(params.lenght / 2);
for (int i = 0; i < params.lenght - 1; i += 2) {
params.add(new BasicNameValuePair(params[i], params[i + 1]));
}
//calling
readJSONFeed(name1, value1, name2, value2, name3, value3); etc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.