کتابخانه Volley در برنامه اندروید

کتابخانه Volley در برنامه اندروید

اتصال به وب سرور یک اصل مهم و اساسی در برنامه نویسی در تمامی زبان هاست.جاوا نیز از این قائده مستثنا نیست.برای اتصال به وب سرور در جاوا روش های مختلفی وجود دارد مثلا تا مدتی پیش از HttpClient ها استفاده میشد که کار با آن برای برنامه نویسان کمی دردسر ساز و پیچیده بود تا اینکه کتابخانه Volley پا به عرصه گذاشت و کار برنامه نویسان را بسیار ساده کرد.مدت زمان زیادی نیست که این کتابخانه وارد بازار برنامه نویسان شده و میتوان گفت از تکنولوژی های جدید برنامه نویسی است.در ادامه بیشتر با این کتابخانه و مزایای آن آشنا خواهیم شد.

Volley Library

اتصال برنامه کاربردی به اینترنت یک امر عادی و در اکثر اوقات ضروری است که در تمامی زبان ها باید به آن توجه شود.

در اندروید تا نسخه HoneyComb , اتصالات شبکه ای در Thread اصلی اجرا میشد(که این کار توصیه نمیشود) در نسخه های بعدی اندروید برنامه نویسان برای بهبود عملکرد , اتصالات شبکه ای را جدا از Thread اصلی یا به اصطلاح main Thread اجرا کردند. که در این روش برنامه نویس باید یک Asynctask را در یک Thread دیگر جدا از Main Thread اجرا کند.

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

Volley در واقع یک >کتابخانه< اندروید است که درخواست های شبکه را مدیریت میکند. Volley در واقع بسته ای از تمام ویژگی هایی است که ممکن است در اتصال به شبکه نیاز داشته باشید مثل دسترسی به Api های Json , بارگذاری تصاویر , درخواست های رشته ای و ..

همچنین این کتابخانه طراحی شده برای عملیات شبکه ای RPC (Remote Procedure Call) و بهترین گزینه برای پر کردن عناصر UI (لیست ویو ها و تکست باکس ها و…)

در کدنویسی برنامه خود شما باید یک درخواست Volley را ایجاد کنید که به این درخواست ها اصطلاحا صف میگویند. یک صف در Thread اصلی ایجاد و جواب یا اصطلاحا Response را دریافت میکند این جنبه از Volley بسیار برای پر کردن عناصر UI مناسب خواهد بود.

.

برای استفاده از این کتابخانه تنها کافی است فایل جاوای Volley را دانلود کرده (در کانال تلگرام ما موجود میباشد) و در مسیر ذخیره پروژه در فولدری به نام libs ذخیره کنید سپس باید در Gradle پروژه خود آن را بدین صورت اعلان کنید

سپس در نوار ظاهر شده بالا گزینه  Sync Now را حتما کلیک کنید تا کدی ک نوشته اید اعمال شود(به تصویر زیر توجه کنید)

voll1
Volley Library

حال به راحتی میتوانید دستورات Volley را نوشته و اجرا کنید اما حتما و حتما به این نکته توجه کنید که در manifest برنامه مجوز استفاده از اینترنت را برای برنامه خود لحاظ کنید

.

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

در ابتدا باید دستورات php را کدنویسی کرده و در محل مناسب ذخیره سازی کنیم که در صورت ذخیره سازی در محیط غیر از این مسیر F:\Programs\WampServer\wamp64\www باید virtual Diractory ایجاد کرد که ما برای راحتی کار فعلا در همین مسیر آنرا ذخیره میکنیم.

ابتدا در MainActivity باید متغیر ها و فیلدهای مربوطه را تعریف کنیم حال هر کدام از این متغیرها چه نقشی دارند!؟

متغیر رشته ای REGISTER_URL آدرس صفحه ای که دستورات PHP مربوط به INSERT را کدنویسی کرده ایم را مشخص میکند

****نکته قابل توجه در مورد URL که بخش مهمی از اتصال به وب سرور است آدرس هاست مورد نظر است به چه صورت؟

برای مثال در کدهای زیر از ۱۰٫۰٫۳٫۲ استفاده شده حال چه زمان باید از این HOST استفاده شود؟زمانی که بخواهیم از شبیه ساز های نصب شده بر روی سیستم استفاده کنیم  و همچنین در ادامه آدرس هاست باید از :portnum استفاده کرد که سیستم من ۸۰۸۰ است(چون من از wamp استفاده میکنم و همانطور که همه میدانند میتوان به تغییر آدرس port پرداخت)

سه فیلد بعدی که با KEY_ نامگذاری آنها شروع شده پس مشخص است که یک کلید که مقدار ثابتی را دارد تعیین کرده شده.

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

.

حال یک درخواست رشته ای ایجاد میکنیم و توجه کنید که از POST برای ارسال داده ها ارسال شده سپس دو متد onResponse , onErrorResponse باید override شوند تا درصورت جواب دادن و یا خطا دادن برنامه چه واکنشی از خودش نشان دهد.

و در انتها نیز متد getParams باید override شود زیرا ما باید سه پارامتر username , email , password را به دستورات php خود ارسال کنیم.

HasMap در واقع لیستی است که اطلاعات درون آن  به صورت key:value ذخیره و با استفاده از مقدار key (کلید) مقدار value بازیابی میشود

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

مدرس : خانم مهندس داودی نژاد

آموزش اندروید فصل پنجم قسمت دوم

۴۶۸×۶۰ content ad

درباره نویسنده

مطالب مرتبط

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *