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

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

ابتدا اجازه ی دسترسی به اینترنت را در فایل manifest وارد میکنیم.
<uses-permission android:name="android.permission.INTERNET">
حالا در اکتیویتی مورد نظر که معمولا اکتیویتی ابتدایی برنامه میباشد یک context میسازیم. مفهوم context به خوبی در مقاله ی استفاده از LocalStorage با JavaScript توضیح داده شده است و با کمی تطبیق میتوانید این مفاهیم را به خوبی درک کنید.
Context context = this;
this یعنی حالت و وضعیت همین صفحه ای را که داریم در context ذخیره شود.
کلاس ConntectivityManager در اندروید برای مدیریت کانکشن ها استفاده میشود و به صورت پیشفرض وجود دارد، یک شی از این کلاس میسازیم.
ConnectivityManager connectivityManager = (ConnectivityManager) G.context.getSystemService(G.context.CONNECTIVITY_SERVICE);
بنابراین تمام سرویس هایی که مربوط به CONNTECTIVITY میباشند را در connectivityManager ذخیره کردیم.
حالا یک شی از کلاس NetworkInfo میسازیم، سپس تمام شبکه ها را که فعال میباشند از طریق getActiveNetworkInfo از connectivityManager میگیریم و درون networkInfo ذخیره میکنیم.
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
نیاز به یک دستور شرطی داریم، مرحله به مرحله جلو میرویم، ابتدا باید چک کنیم networkInfo برابر با null میباشد یا نه، اگر networkInfo برابر با null باشد یعنی به هیچ شبکه ای وصل نیستیم.
if (networkInfo == null)
{ ... } 
else 
{ ... }
سپس دستور شرطی را کامل تر میکنیم، ممکن است شبکه هایی را پیدا کنیم، باید بررسی کنیم که این شبکه در دسترسی میباشد یک خیر، بنابراین دستور شرطی if را کامل تر میکنیم.
if (networkInfo == null || !networkInfo.isAvailable())
{ ... } 
else 
{ ... }
در نهایت باید چک کنیم که شبکه ای که پیدا کردیم و در دسترس هم بود، به آن وصل هستیم یا خیر، بنابراین باید شرط زیر را هم اضافه کنیم، در نهایت دستور شرطی ما به صورت زیر میشود.
if (networkInfo == null || !networkInfo.isAvailable() || !networkInfo.isConnected())
{ ... } 
else 
{ ... }

نتیجه گیری

بررسی وصل بودن دیوایس کاربر به اینترنت در تمام برنامه های اندوریدی بسیار ضروری و مهم میباشد، به صورتی که اگر دستگاه کاربر به اینترنت وصل نبود میتوانید تمام المنت ها را ناپدید کنید و متنی به کاربر نمایش دهید و بخواهید به اینترنت وصل شود، برای مثال ناپدید کردن یک المنت در اندروید به صورت زیر میباشد.
elementName.setVisibility(View.INVISIBLE);
و پدیدار کردن یک المنت به صورت زیر میباشد.
elementName.setVisibility(View.VISIBLE);
موفق باشید.

محمد یه دانشجوی فناوری اطلاعات هست که از سال 92 فعالیتش رو شروع کرد، در حال حاضر در زمینه ی برنامه نویسی تحت وب و اندروید و شبکه های ارتباطی سیسکو فعالیت میکنه .

نظرات و سوالات کاربران

ارسال پاسخ محمد حسید
محمد حسید
پنج شنبه ۱۴ دی ۱۳۹۶ ۱۲:۵۰
در پاسخ به دیدگاه I.M.A.N ارسال شده در یکشنبه ۰۹ اسفند ۱۳۹۴ ۱۸:۴۱
سلام . . . با تشکر از راهنمایی خوبتون . . . سوالی که داشتم اینه که اون G که قبل از context گذاشتین دقیقا چیه ؟
G کلاسی هست که در ابتدای اجرای برنامه ی شما اجرا میشه(البته فقط همین یک بار) که به درد این میخوره که مثلا یک سری مقادیر رو مقدار دهی کنین برای بار اول یا کارهایی از این قبیل.همونجا میشه context برنامه رو بگیرین و تا اخر برنامه ازش استفاده کنین.اگر استفاده نمیکنین خودتون میتونین context برنامه رو هرجا هستین توی هر اکتیویتی به برنامه بدین
امیدوارم سوالتون رفع شده باشه
ارسال پاسخ سجاد
سجاد
جمعه ۲۱ خرداد ۱۳۹۵ ۲۲:۵۲
منم دقیا همین سوال بالایی رو دارم!!
ارسال پاسخ I.M.A.N
I.M.A.N
یکشنبه ۰۹ اسفند ۱۳۹۴ ۱۸:۴۱
سلام . . . با تشکر از راهنمایی خوبتون . . . سوالی که داشتم اینه که اون G که قبل از context گذاشتین دقیقا چیه ؟