میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

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

اندروید پکیج java.net را شامل می شود. با وارد کردن این پکیج در پروژه می توانید به منابع و محتوای مورد نیاز از طریق شبکه دسترسی پیدا کنید. کلاس پایه برای اتصال HTTPدر پکیج java.net ، کلاس HttpURLConnection است .

اندروید حاوی اطلاعات استاندارد شبکه جاوا است .

Net Package می تواند از منابع دسترسی به شبکه موجود استفاده کند ، به عنوان کلاس اصلی شبکه دسترسی HTTP در جاوا است NetPackage یک کلاس HttpURLConnection است

اجرای عملیات مربوط به شبکه با API جاوا طاقت فرسا است. بدین معنی که توسعه دهنده می بایست connection را باز کند/ببندد، cache را فعال نموده و مطمئن شود که عملیات مربوط به شبکه در ( background thread به صورت موازی و در پس زمینه) اجرا می شوند.

تعداد زیادی کتابخانه ی کد باز ( open source ) وجود دارد که در اختیار برنامه نویس قرار گرفته و انجام عملیات مزبور را آسان می سازد. پرکاربردترین این کتابخانه ها به شرح زیر می باشند:

OkHttp – OkHttp efficient HTTP access برای اتصال و دسترسی بهینه HTTP

Retrofit – Retrofit REST based clients برای سرویس گیرنده های مبتنی بر REST

Glide – Glide image processing برای پردازش تصویر

 


مجوز اتصال به اینترنت

به منظور اتصال به اینترنت ، اپلیکیشن شما به مجوز android.permission.INTERNET احتیاج دارد. در ورژن های جدید کتابخانه های اندروید ( API version های نوین) ، این مجوز به صورت خودکار به اپلیکیشن اعطا می شود.

 


بررسی وضعیت اتصال به اینترنت

دستگاه های اندروید همیشه به اینترنت دسترسی ندارند. برای بررسی اینکه آیا دستگاه مورد نظر به شبکه و اینترنت دسترسی دارد یا خیر، اپلیکیشن شما بایستی مجوز android.permission.ACCESS_NETWORK_STATE را داشته باشد .
جهت بررسی وضعیت اتصال به اینترنت، می توانید از کد زیر استفاده کنید.

 

public boolean isNetworkAvailable() {
ConnectivityManager cm = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
// if no network is available networkInfo will be null
// otherwise check if we are connected
if (networkInfo != null && networkInfo.isConnected()) {
return true;
}
return false;
}

همان طور که در بالا گفته شد، برای بررسی وضعیت اتصال به شبکه، اپلیکیشن شما به مجوز ACCESS_NETWORK_STATE احتیاج دارد

 


روش های بهینه برای اتصال و دسترسی به اینترنت در اندروید

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

از ویرایش ۳٫۰ به بعد اندروید، سیستم طوری تعبیه شده است که اگر دسترسی به اینترنت در UI صادر شده و به تبع آن سیستم NetworkOnMainThreadException رخ دهد، خطای thread به طور ناگهانی از کار می افتد.

روش معمول و بهینه برای اتصال به اینترنت و دسترسی به منابع سطح وب (در یک اپلیکیشن با کیفیت ) استفاده از یک سرویس است. گفتنی است که می توان از یک activityیا fragment نیز به اینترنت دسترسی را انجام داد، اما استفاده از سرویس برای نیل به این هدف طراحی بهینه تری را برای اپلیکیشن شما رقم می زند و همچنین به ساده نگه داشتن کد activity شما کمک شایانی می نماید.

توجه: جهت تست می توانید با درج تکه کد زیر در ابتدی متد () onCreate کلاس ،activity دسترسی به اینترنت را در thread اصلی اپلیکیشن فراهم کنید.

 

StrictMode.ThreadPolicy policy = new StrictMode.
ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);

Unresolved directive in 001_article.adoc – include::../JavaNetworking/010_overview.adoc[] == Web Sockets

Web Socket یک استاندارد مبتنی بر HTTP برای تبادل ناهمزمان پیغام ( asynchronous message-based communication ) بین سرویس گیرنده و سرویس دهنده است. به منظور راه اندازی این ارتباط، یک درخواست HTTP GET با یک HTTP header خاص ایجاد نمایید.اگر سرویس دهنده این درخواست را پذیرفت، سرویس گیرنده و سرویس دهنده می توانند با هم پیغام (داده
هایی را ) رد و بدل کنند.

این پیغام ها می توانند متن یا داده های binary باشند. لازم به ذکر است که داده های مورد تبادل می بایست کم حجم باشند چرا که پروتکل web socket اساسا به منظور انتقال payload و داده های کم حجم تعبیه و طراحی شده است.

بهترین روش برای تبادل پیغام و داده بین کلاینت و سرور، قرار دادن آن در قالب JSON می باشد.

پیام می توانند متنی و یا داده های باینری و نسبتا کوچک باشند ، به عنوان یک وب سوکت پروتکل در نظر گرفته شوند که با محموله های کوچک در داده استفاده می شوند.

 


امیدواریم آموزش دسترسی به اینترنت در اندروید نیز برای شما مفید واقع شده باشد و ادامه آموزش برنامه نویسی اندروید رو دنبال کنید . برای مطالعه پست‌ها بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

 

ارسال دیدگاه

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

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟