在項目開發過程中,web向後台提交的表單中 checkbox的資料是以數組的形式傳輸的,但我們用在移動端想使用同一個介面向後台傳資料的時候,就會遇到以下幾個問題
1.怎麼在RequestParams 對象裡put數組讓後台接受?
解決方案
for (int i = 0; i < array.size(); i++) {params.put("content["+i+"]", array.get(i));}
使用迴圈的方式組建數字,注意 content["+i+"] 這樣PHP後台取content參數的時候就是String類型數組
2.數組是傳到了後台但是數組可能出現亂序的現象,及時測試時候沒有發生也需要注意,這是因為RequestParams 裡面存參數使用的map結構,map遍曆出來是無序的,
解決方案是重寫RequestParams 類
public class MyRequestParams extends RequestParams{/** * */private static final long serialVersionUID = 1L;private ArrayList list =null;public MyRequestParams() {list =new ArrayList();}@Overridepublic void put(String key, String value) {list.add(new BasicNameValuePair(key, value));}@Overridepublic void put(String key, int value) {list.add(new BasicNameValuePair(key, String.valueOf(value)));}@Overridepublic void put(String key, long value) {list.add(new BasicNameValuePair(key, String.valueOf(value)));}@Overrideprotected ArrayList getParamsList() {return list ;}}
以上就介紹了Android向PHP後台傳數群組類型的參數似的問題,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。