رفتن به مطلب
  • 0

ارسال و دریافت اطلاعات درحالت jsonArrayRequest کتابخانه volley


maryam22

سوال

سلام دوستان 

آیا راهی هست که بشه هنگام دریافت اطلاعات از سرور با کتابخانه والی با استفاده از متدد jsonArrayRequest یه مقداری ارسال کرد به دیتابیس 

لطفا اگه میشه کمی توضیح بدید من چندین بار سعی کردم ولی نشد

 


    public void getDatabase(String phpfile, final Activity activity) {
        final RequestQueue requestQueue = Volley.newRequestQueue(activity);
        final ProgressDialog progressDialog = new ProgressDialog(activity);
        progressDialog.setMessage("درحال دریافت اطلاعات از سرور ...");
        progressDialog.setCancelable(false);
        //progressDialog.show();


        JsonArrayRequest jsonArrayRequest=new JsonArrayRequest(Request.Method.POST, phpfile, null, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {

            Log.e("s1",response.toString());

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

            }
        }){


            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                HashMap<String,String>hashMap=new HashMap<String, String>();
             //   hashMap.put("user",afraz);
                return hashMap;
            }


            @Override
            protected Response<JSONArray> parseNetworkResponse(
                    NetworkResponse response) {
                try {
                    String jsonString = new String(response.data,HttpHeaderParser.parseCharset(response.headers));
                    Log.e("sss",jsonString);
                    return Response.success(new JSONArray(jsonString),HttpHeaderParser.parseCacheHeaders(response));

                } catch (UnsupportedEncodingException e) {
                    return Response.error(new ParseError(e));
                } catch (JSONException je) {
                    return Response.error(new ParseError(je));
                }


            }



        };



        jsonArrayRequest.setRetryPolicy(new DefaultRetryPolicy(100000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
        requestQueue.add(jsonArrayRequest);


    }

 

این کدو نوشتم ولی کار نمیکنه اگه میشه رهنمایی کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

2 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

ارسال مقادیر فقط در حالت StringRequest امکان پذیر هستش و JsonArrayRequest همچین قابلیتی نداره

شما میتونی یه کلاس بسازی و اکستندش کنی از Request یا StringRequest و مقادیر رو به همراهش بفرستی و دستی توی کلاسی که ساختین جیسون هارو پارس کنید

تاحالا امتحان نکردم اما مطمئنن میشه

 

اما پیشنهاد میکنم از کتابخانه ی رتروفیت استفاده کنید تا بتونید جیسون هارو به راحتی به صورت آبجکت تحویل بگیرید و به راحتی هم میتونید انواع مقادیر رو ارسال کنید

موفق باشید:heart:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...