کتابخونه ConnectivityChecker

اگر اپلیکیشن اندرویدی‌ای نوشته باشید که تو انجام بعضی کارهاش به اینترنت نیاز داشته، حتما اینجوری عمل کردید که قبل از هر ارتباطی با اینترنت، اتصال به اینترنت رو چک کردید و اگر کاربر به اینترنت وصل نبود احتمالا بهش یه پیغام رو نشون دادید.

من کتابخونه‌ای نوشتم که این کار تکراری رو برامون انجام بده. کافیه این کتابخونه رو به پروژتون اضافه کنید و از کلاس ConnectionChecker این کتابخونه استفاده کنید. این کلاس یه AlertDialog داره که اگه کاربر به اینترنت متصل نباشه نشونش میده.

برای استفاده از این کتابخونه کافیه که یک آبجکت از کلاس ConnectionChecker بسازید. بعد با استفاده از متد doIfConnected میتونید کارهای مربوط به اینترنت رو انجام بدید. برای استفاده از این متد باید بهش یک شی از جنس اینترفیس Doable بدید. اگر گوشی به اینترنت متصل باشه، متد doIfConnected این آبجکت اجرا میشه. و اگر گوشی به اینترنت متصل نباشه AlertDialog نشون داده میشه.

AlertDialogیی که نشون داده میشه نوشته‌های پیش‌فرض انگیسی داره. اگر میخواید که این نوشته‌ها رو بنا به سلیقه خودتون تغییر بدید یا فارسی کنید، باید برای ایجاد آبجکت ConnectionChecker از دومین constructor استفاده کنید که سه آرگومان اضافه‌تر میگیره: اسم دکمه‌ای که برای تلاش مجدد به کار میره، اسم دکمه‌ای که برای رفتن به صفحه تنظیمات سیستم عامل به کار میره، و متن اصلی خطا که در AlertDialog نشون داده میشه.

از کلاس ConnectionChecker میتونید به دو شیوه آبجکت بسازید. مدل اول تنها دو آرگومان میگیره، Context و Activity. بعد از اینکه آبجکت رو ساختید تنها کافیه که برای انجام تسک‌های اینترنتی از متد doIfConnected استفاده کنید. این متد یک شی از جنس اینترفیس Doable به عنوان آرگومان میگیره و اگر گوشی به اینترنت متصل باشه متد doTask اون رو اجرا میکنه.

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

3 پاسخ به “کتابخونه ConnectivityChecker”

  1. سعید گفت:

    سلام آرش جان. من به تازگی وارد مبحث برنامه نویسی اندروید شدم ، راستش میخواستم تقاضا کنم که تو وبلاگت یه پست برای نمونه کد های اندروید بزاری (چه اونایی که خودت زدی فکر میکنی به دیگران کمک میکنه و چه دیگران )
    ممنون

  2. علی گفت:

    سلام آرش جان ممنون بابت پست خوبت.
    من اگه بخوام در فرگمنت ها استفاده کنم چطوری انجام میشه؟ و ایا میشه به جای دیالوگ یه کاستو ویو نمایش داده بشه؟

    • آرش خوئینی گفت:

      سلام علی جان
      در فرگمنت‌ها هم میتونی به راحتی استفاده کنی و عملا چیزی عوض نمیشه.
      در مورد سوال دوم هم بله میتونی هر viewای که میخوای رو به عنوان کاستوم ویوو بهش بدی.

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

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

android application Google I/O HomeBrew ImageMagick Material Design mobile PogressBar RecyclerView splash TEDxKish ux آموزش اندروید الوین تافلر اندروید اپلیکیشن برنامه نویسی برنامه نویسی اندروید برنامه‌نویسی برنامه‌نویسی اندروید تداکس کیش تعمیر تغییر سایز عکس با ترمینال خلاصه کتاب دانش داده دانشگاه دانشگاه ایده‌آل دزد دیتا ساینس رشته مهندسی کامپیوتر ریکامندرسیستم سیستم‌های توصیه‌گر فری‌لنس لپتاپ متریال دیزاین معرفی کتاب موج سوم نوار پیشرفت همایش هوش مصنوعی ُجزیره کیش کار کسب و کار یادگیری عمیق یادگیری ماشین