2015-08-25 3 views
0

я отправляю более 100 строк данных из андроида в MySQL, но только вставляется последняя строка, это мой кодAndroid Volley разместить несколько строк данных MySQL

public void insert() { 
    String url = "http://myurl"; 
    Map<String, String> params = new HashMap<String, String>(); 
    params.put("item_name", "Droider"); 
    params.put("item_name", "chuyu"); 
    params.put("item_name", "solo"); 
    params.put("item_name", "shaq"); 



    CustomRequest jsObjRequest = new CustomRequest(Request.Method.POST, url, params, new Response.Listener<JSONObject>() { 

     @Override 
     public void onResponse(JSONObject response) { 
      Log.d("Response: ", response.toString()); 

     } 
    }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError response) { 
      Log.d("Response: ", response.toString()); 
     } 
    }); 
    MyApplication.getInstance().addToReqQueue(jsObjRequest); 
} 

я думал jsonarrayrequest, но большинство примеры также публикуют одну строку, возможно ли это с помощью залпа? помогите, пожалуйста, спасибо.

ответ

0

Проблема в том, что ваше приложение на стороне сервера в основном перезаписывает значения. Вместо вызова вашего параметра item_name назовите его item_name[] и в своем боковом коде сервера рассмотрите его как массив.

0
params.put("item_name", "Droider"); 
params.put("item_name", "chuyu"); 
params.put("item_name", "solo"); 
params.put("item_name", "shaq"); 

эти не будут такими же (не повторяйте, потому что вы делаете переписку). вы так можете добавить

String[] datas = {"Droider","chuyu","solo","shaq"}; 
String item_name = "item_name"; 

for (datas : data) { 


public void insert(String item_name, String data) { 
    String url = "http://myurl"; 
    Map<String, String> params = new HashMap<String, String>(); 
    params.put(item_name, data); 



    CustomRequest jsObjRequest = new CustomRequest(Request.Method.POST, url, params, new Response.Listener<JSONObject>() { 

     @Override 
     public void onResponse(JSONObject response) { 
      Log.d("Response: ", response.toString()); 

     } 
    }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError response) { 
      Log.d("Response: ", response.toString()); 
     } 
    }); 
    MyApplication.getInstance().addToReqQueue(jsObjRequest); 
} 

} 
+0

thanx Faith, это прекрасно работает, но я думаю, что у него есть зарядка аккумулятора, если он перебирается через 1000 строк. что, если я отправлю его как один массив и дайте серверу выполнить итерацию. –

+0

вы можете размещать данные в данных, которые можно использовать как json array (включая String [] datas) после этого десериализовать в вашем веб-сервисе. –

Смежные вопросы