Как отправить данные целого и строкового массива JSON на сервер, используя Volley в Android - PullRequest
0 голосов
/ 04 июня 2018

Это моя ItemDetailActivity

Здесь я указал целое и строковое значение.Поскольку моя основная задача - рассчитать общую стоимость, которая может быть получена при умножении цены на количество, для этого мне нужно преобразовать строковое значение в целое число, чтобы я мог выполнить умножение, и приведенный ниже код работал для меня, когда я пыталсяпередать только строковое значение, но когда я преобразую их в целое число, оно отправляет значение, но кроме значения «Предметы», которое я указал как строковое, хранится в базе данных, а оставшиеся «итог, цена и количество», которые указаны как целочисленные, хранятся как «0» (нуль).Могу ли я иметь представление о том, как я могу отправить данные, если представлены как строковое, так и целочисленное значение?

 itemname = Itemname.getText().toString();
 price = Integer.parseInt(Price.getText().toString());
 quantity = Integer.parseInt(Integer.toString(count));
 total = price * quantity;

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

                    Toast.makeText(ItemDetailActivity.this, " "+itemname+" is added to your cart", Toast.LENGTH_SHORT).show();

                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {

                    Toast.makeText(ItemDetailActivity.this, "Some error went wrong!!", Toast.LENGTH_SHORT).show();
                    error.printStackTrace();
                }
            }){
                @Override
                protected Map<String, String> getParams() throws AuthFailureError {

                    Map<String, String> params = new HashMap<>();
                    Map<String, Integer> param2 = new HashMap<String, Integer>();
                    params.put("Items",itemname);
                    param2.put("Price",price);
                    param2.put("Quantity",quantity);
                    param2.put("Total",total);

                    return params;
                }
            };

            MySingleton.getmInstance(ItemDetailActivity.this).addTorequestqueue(stringRequest);
        }

И это мой класс MySingleton

    private MySingleton (Context context){
    ctx = context;
    requestQueue = getRequestQueue();
}

public static synchronized  MySingleton getmInstance(Context context){
    if (mInstance == null){
        mInstance = new MySingleton(context);
    }
    return mInstance;
}

public RequestQueue getRequestQueue() {

    if (requestQueue == null){
        requestQueue = Volley.newRequestQueue(ctx.getApplicationContext());
    }
    return requestQueue;
}
public <T> void addTorequestqueue(Request<T> request ){

    requestQueue.add(request);
}
...