2017-06-23 15 views
0

httpリクエストにvolleyを使用しています...サーバーに複数のデータを渡す。コードは正常に動作していますが、サーバー.. これは私がサーバーのデータベースに格納するためにサーバーに渡したいものです。複数のjsonオブジェクト/データをandroidでvolleyを使用してサーバーに送信する方法

"usernname":"username1","email":"email1","password":"password1" 
"usernname":"username2","email":"email2","password":"password2" 
"usernname":"username3","email":"email3","password":"password3" 



is it right to loop through the Map<String, String>?? 

***protected Map<String, String> getParams() throws AuthFailureError { 


      Map<String, String> params = new HashMap<>(); 
      for(int i=0;i<3;i++){ 
       params.put("username", username+i); //post variable in the php code.."username""email","password" 
       params.put("email", email+i); 
       params.put("password", password+i); 
       //registerUser(); 

      } 
      return params;*** 


**here is the full function that i am using..** 

private void registerUser() { 

    final String email = "user1"; 
    final String username = "user1"; 
    final String password = "user1"; 



    StringRequest stringRequest = new StringRequest(Request.Method.POST,Constants.URL_REGISTER,new Response.Listener<String>() { 
     @Override 
     public void onResponse(String response) {/


      try { 

       JSONObject jsonObject = new JSONObject(response); 

       Toast.makeText(getApplicationContext(), jsonObject.getString("message"), Toast.LENGTH_LONG).show(); 

      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 
    }, 
      new Response.ErrorListener() { 
       @Override 
       // Handle error 
       public void onErrorResponse(VolleyError error) { 
        // progressDialog.hide(); 
        Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show(); 
       } 
      }) { 


     @Override 

     protected Map<String, String> getParams() throws AuthFailureError { 


      Map<String, String> params = new HashMap<>(); 
      for(int i=0;i<3;i++){ 
       params.put("username", username+i); //post variable in the php code.."username""email","password" 
       params.put("email", email+i); 
       params.put("password", password+i); 
       //registerUser(); 

      } 
      return params; 

     } 
    };  

    RequestHandler.getInstance(this).addToRequestQueue(stringRequest);     



} 

親切にお手伝いください!

+0

複数のJSONオブジェクトのユーザーの単一の配列 –

+0

[this](https://stackoverflow.com/a/44302488/4116560)のようなRestFulサービスを使用してみませんか? – sam

答えて

0

クラスを作成する必要なフィールドを持つユーザー:ユーザー名、電子メール、パスワード 次にユーザーデータを使用してuserListを作成します Gsonを使用してListをJson Stringに変換します。

String rawUser = new Gson().toJson(userList) 

その後、サーバーに今

params.put("raw_user_data", rawUser) 

としてのparamsに単一の生のユーザーデータを置くことができますJSON配列を解読し、反復を介してすべてのデータを取得することができます。

+0

ありがとうございます。私に例を教えてください。 – egom