ارتباط با سرور با استفاده از کتابخانه Volley – دوره مقدماتی

سلام بر دوستان و همراهان همیشگی سایت ویا دولوپرز ، امیدوارم که ایام به کام ، حالتون خوش و دماغ تون چاق باشه  🙂 توی این دوره قصد داریم نحوه استفاده از کتابخانه Volley ، که یک کتابخونه بسیار سریع و قوی برای درخواست های سمت سرور هست رو بررسی کنیم .

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

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

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

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

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

استفاده کردن از کتابخانه Volley مزیت های زیر رو برای شما به همراه خواهد داشت :

1 – به صورت اتوماتیک درخواست های سمت سرور زمان بندی میشه .

2 – امکان برقراریه چندیدن network connection همزمان .

3 – کش کردن نهان داده های دریافتی مانند عکس (انسجام حافظه نهان)

4 – پشتیبانی از درخواست های موازی

5 – پشتیبانی کردن از Cancellation API ، شما می تونید یک یا چندین درخواست رو کنسل کنید

6 – آسانی در Custom و شخصی سازی کردن

7 – مرتب سازی قوی درخواست ها که به شما کمک می کنه تا بتونید داده های دریافتی رو روی UI اپلیکیشن اعمال کنید

8 – ابزار اشکال یابی و رفع خطا

برای دیدن دوره کار با کتابخانه Volley چه پیش نیازهایی لازم هست؟

1 – کار با استاندارد سریع و قوی JSON در اندروید استودیو (این ویدئو رو حتما باید ببینید)

1 – آموزش کار با Custom Listview در اندروید (پیشنهاد می کنم ببینیدش)

1 – آموزش ارتباط با سرور در اندروید (زیاد الزامی نیست ولی اگر باشه بهتره)

محتوی دوره مقدماتی آموزش کتابخانه Volley چی هست؟

این دوره مون از 4 قسمت تشکیل شده که شما توی هرکدوم از ویدئوها این مباحث رو یاد می گیرید

1 – نحوه ارسال درخواست String Request

2 – نحوه ارسال درخواست JsonObject & JsonArray Request

3 – نحوه ارسال درخواست دریافت عکس از سرور

4 – نحوه فعال سازی Volley Debuger و استفاده از Cancellation API

مدت زمان دوره: 00:41:17

 

دانلود آموزش

نظرات

  • تشکر

    عالی مموفق باشین

  • خیلی عالیه

    سلام و خسته نباشید خدمت محمد و بشیر عزیز
    خیلی خوب و کامل توضیح داده شده، به دوستان پیشنهاد میکنم حتما این ویدیو رو ببینن. واقعا با کلی تحقیق، هیج جا به این خوبی توضیح نداده بود

  • volley

    سلام خسته نباشید
    اون کتابخونه app controller که برای ارتباط استفاده میکنید چی هست و چگونه باید یاد گرفت؟؟

    • سلام بر شما it4life
      اون یک کلاس برای کنترل بهتر کتابخونه والی و ارسال درخواست ها هست ، نیاز نیست بدونید که داخلش چی نوشته شده ، همینقدر که بدونید داره چیکار میکنه کفایت میکنه

  • کتابخانه والی

    سلام وقت بخیر .ممنون از آموزشهای خوبتون.
    من با چیز شکن هم نتونستم کتابخونه والی 1.0.0 رو به پروژه ادد کنم. در صورت امکان فایل jar این ورژن رو برام بفرستید ممنون میشم.

  • علیرضا

    با سلام
    میشه لطفا در مورد کتابخانه Retrofit هم توضیح بدید. من یکم گیج شدم که از والی استفاده کنم یا از رتروفیت!!!

    • سلام بر شما vahabi2010
      کتابخونه Retrofit هم یک کتابخونه برای ارسال درخواست هایه مبتنی بر Rest هست که سرعتش تا حدودی بیشتر از والی هست ، اما والی هم قدرت خودش رو داره و فرقی در استفاده این دو کتابخونه نیست

  • کش

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

    • سلام بر شما evil
      بله امکانش هست ، منتهی بستگی به برنامه نویسی شما هم داره ، کش کردن همه اطلاعات روش درستی نیست و بهتره از دیتابیس هم استفاده کنید

  • update,insert

    سلام چگونه یک درخواست را به سمت سرور ارسال کنیم مثلا برای لاگین کردن یا چگونه اطلاعات را ویرایش کنیم؟

    • سلام دوست عزیز
      سوالات و مشکلات برنامه نویستون به ایدی تلگرام سایت ارسال کنید اونجا خود جناب باقری نیا به صورت مستقیم به مشکلتون رسیدگی میکنند خیلی ممنونم
      @WiaDevelopers_support

  • مشکل کتابخانه volley

    با سلام و روز بخیر. تو رو خدا یکی به این مشکل بنده جواب بده. آیا کتابخانه volley در چند روز اخیر مشکل داشته؟ من به کدهام دست نزدم و سروری هم که بهش متصل میشم چک کردم و کار میکنه (آدرس url را با مرورگر چک کردم و جواب داده) ولی با اپلیکیشن از دیروز دیگه نمیتونم با سرور اتصال بگیرم و هیچ response دریافت نمی کنم. آیا شما هم مشکل دارید؟ حتی سرورم رو هم عوض کردم. و یک کد بدون خطایی که قبلا جوابشو پس داده رو هم اجرا می کنم اصلا انگار نه انگار. خواهشا اگر جوابی برای مشکل بنده دارید به بنده در ایمیل پاسخ بدید

    • سلام دوست عزیز
      در مورد سوالی که فرموده بودین این مشکل صد در صد از کدنویسی اندرویدتونه چون این کتابخانه مشکلی نداشته و ما در اپلیکیشن هامون استفاده میکنیم

  • ارسال اطلاعات به volly

    باسلام و تشکر از اموزش های بسیار خوبتون
    من تونستم اطلاعات را از سرورم بخونم و نمایش بدم تو برنامم
    اما میخوام یک سری اطلاعات را به سرورم بفرستم و اونجا ذخیره کنم!!!
    ممنون میشم زودتر راهنمایی بفرمایید.واقعا گیر کردم تو این قسمت.
    ایمیل:
    [email protected]

    • سلام بر شما javadmahmoodi
      به نظرم شما اگر دوره ارتباط با سرور و والی پیشرفته رو نگاه کنید ، فک کنم بتونید چیزی که میخواید رو درست کنید

  • سلام.خسته نباشید.چرا در مورد کتابخونه های utils و AppContorler توضیح نمیدید؟

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

  • بررسی تغییرات سرور

    سلام خسته نباشید.
    چطور میشه بین کلاینت و سرور ارتباط برقرار کرد به صورتی که وقتی درون سرور اتفاقی افتاد و تغییراتی ایجاد شد همون لحظه اون تغییر به کلاینت اعلام بشه!
    مثلا نرم افزار ثبت سفارشی داریم که سفارشات رو روی سرور ذخیره میکنه و یه نرم افزار دیگه هم داریم که سفارشات رو همون لحظه میگیره بدون اینکه ما دستی اطلاعات را بروزرسانی کنیم! یا بهتر بگم مثه پیام رسان ها!

    از کدام پکیج آموزشی سایتتون استفاده کنم؟

    ممنون میشم پاسخم رو بدید.

    • سلام دوست عزیز
      با عرض پوزش این آموزش نداریم
      ولی اگه شما به سایت پوشه مراجعه کنید ، سرویس پوشه این امکان فراهم کرده تا پیاده سازی کنید برای اطلاعات بیشتر به خود سایت پوشه مراجعه کنید و سوالتون از پشتیبان پوشه بپرسید

  • برای ثبت نظر باید ابتدا وارد اکانت خود شوید