تیک۴

volley : آموزش استفاده از آن برای ارسال درخواست به سرور

کتابخانه Volley چی هست؟

Volley یک کتابخونه Http هست که توسط شرکت گوگل توسعه ، و در Google IO 2013 به صورت رسمی معرفی شده ؛ تا بتونه در خواست های سمت سرور اپلیکیشن های اندرویدی رو به شکل چشم گیری سریع تر و راحتتر انجام بده . شما می تونید کتابخانه Volley رو از سایت Github دریافت کنید .

تا قیل از انتشار کتابخانه Volley ، برنامه نویس ها برای ارتباطات سمت سرور و توسعه دادن سیستم RESTful بین کلاینت و ریموت سرورشون مجبور بودن که از کلاس استاندارد جاوا با نام java.net.HttpURLConnection و کلاس استاندارد آپاچی با نام org.apache.http.client استفاده کنند .

مشکل عمده ای که برنامه نویس ها ، سر کار کردن با این دو کلاس داشتند این بود که :

علاوه بر باگهایی که باید شبانه روزی باهاشون سروکله میزدند تا درست بشه ؛ اگر چنانچه قصد داشتند معماریی رو پیاده کنند که بتونه  به صورت اتوماتیک عکس یا داده های دریافتی رو کش کنه یا مثلا بتونه چندین درخواست همزمان رو برای سرور ارسال کنه ، نیاز به نوشتن و پیاده سازیه اون معماری  به صورت زیربنایی و پایه ای بودند ، که بتونه این کار رو انجام بده .

به طور کلی دو نوع Request مختلف در کتاب خانه volley وجود دارد که عبارتند از :

به غیر از request ها بالا دو نوع دیگر نیز وجود دارد مثل StringRequest از این نوع request برای خواندن یک string یا یک فایل txt می توان استفاده کرد.

volley

راهنمای اسفتاده از volley در اندروید

ابتدا باید کتابخانه را اضافه کنید. می توانید از Gradle برای این کار اسفتاده کنید

implementation 'com.android.volley:volley:1.1.0'

حال نحوه ارسال درخواست JsonArrayRequest برای گرفتن آرتیه را بررسی می کنیم

JsonArrayRequest jsonArrayRequest1 = new JsonArrayRequest(متد مورد نظر شما , آدرس , listener , جواب درخواست , خطا پیش آمده)

جال به یک نمونه کد برای استفاده از متد بالا را نشان می دهیم

      RequestQueue requestQueue = Volley.newRequestQueue(context);
        String url = "http://example.com/jsonarray";
        JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {
                try {
                    JSONObject jsonObject= response.getJSONObject(0);
                    String s = jsonObject.getString("title");
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                
            }
        });
        requestQueue.add(jsonArrayRequest);

کتابخانه های بسیاری برای کار با درخواست های سمت سرور وجود دارد.

Retrofit یکی دیکر از این کتابخانه قررتمند است که بزودی آموزشی در زمینه کار با آن قرار خواهیم داد.

 

برای دیدن بقیه مقالات اینجا کلیک کنید

برای دیدن بقیه آموزش های مرتبط با برنامه نویسی اندروید اینجا کلیک کنید

خروج از نسخه موبایل