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

بررسی وصل بودن دیوایس به اینترنت در اندروید
به طور قطع میتوان گفت در تمام اپلیکیشن هایی که از سرویس اینترنت استفاده میکنند، هنگام شروع اپلیکیشن برقرار بودن اتصال تلفن همراه به اینترنت چک میشود و سپس به کاربر اجازه ی استفاده از امکانات اپلیکیشن داده میشود، در این مقاله مرحله به مرحله یاد خواهیم گرفت چطور برقرار بودن اتصال اینترنت را بررسی کنیم.
سایت ترجمه رایت می
سفارش آنلاین ترجمه مقالات و متون تخصصی با خیال راحت
تور مشهد
تور مشهد، همه روزه از تمام شهرهای ایران.
دارالترجمه رسمی
دارالترجمه رسمی پارسیس شامل خدمات ترجمه رسمی و تخصصی در بیش از 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 گذاشتین دقیقا چیه ؟