Размещать строки и массивы в залпе? - PullRequest
0 голосов
/ 11 июня 2018

Мне было интересно, как можно размещать строку и массив через POST в getParams в Volley.

Любые предложения будут хороши.

EG:

protected Map<String, String> getParams() {

                Map<String, String> params = new HashMap<String, String>();
                params.put("name", name);
                params.put("username", username);
                params.put("email", email);
                params.put("password", password);
                params.put("dob", dob);
                for (int i=0; i< array_list_likes.size(); i++) {
                    params.put("likes["+i+"]", array_list_likes.get(i));
                }
}

Ответы [ 3 ]

0 голосов
/ 11 июня 2018

Попробуйте это:

protected Map<String, String> getParams() throws AuthFailureError {
    Map<String, String> params = new HashMap<String, String>();
    params.put("name", name);
    params.put("username", username);
    params.put("email", email);
    params.put("password", password);
    params.put("dob", dob);
    JSONObject jsonObject=new JSONObject();
    for (int i=0; i< array_list_likes.size(); i++) {
         arr[i]= array_list_likes.get(i).getLikes();
         jsonObject.put("likes["+i+"]",arr[i]);
    }
    params.put("params",jsonObject.toString());
    return params;
}
0 голосов
/ 11 июня 2018

Массив можно преобразовать как строку и передать вместе с другими параметрами следующим образом и преобразовать строку в массив на стороне сервера с помощью разделителя ,

Это может быть не лучшим способом, но егопростой способ

protected Map<String, String> getParams() {

   Map<String, String> params = new HashMap<String, String>();
   params.put("name", name);
   params.put("username", username);
   params.put("email", email);
   params.put("password", password);
   params.put("dob", dob);

   params.put("likes", String.valueOf(array_list_likes));
}

Все зависит от сервера, если вы пишете свои собственные веб-сервисы. Таким образом, вы можете конвертировать массив в строку, но если вы переходите к существующему коду веб-сервиса, вы можете попробовать другой.

Надеюсь, это поможет вам

0 голосов
/ 11 июня 2018

Делайте это, вы публикуете String and Array

 protected Map<String, String> getParams() {

                    Map<String, String> params = new HashMap<String, String>();
                    params.put("name", name);
                    params.put("username", username);
                    params.put("email", email);
                    params.put("password", password);
                    params.put("dob", dob);
                    JSONArray jsonArrayLikes  = new JSONArray();
                    for (int i=0; i< array_list_likes.size(); i++) {
                     JSONObject jsonLikes = new JSONObject();
                        jsonLikes .put("likes", array_list_likes.get(i).getLikes());
                       jsonArrayLikes.put(jsonLikes);
                     }
                 params.put("likes" , jsonArrayLikes.toString());
                }
...