التحقق من الاتصال بالانترنت للقيام بأمر ما في برمجة تطبيقات الاندرويد

بسم الله الرحمن الرحيم

اليوم رح نأخذ كود أكثر من مميز مع إنه بسيط جداً , ولكن يفيد طبقة كبيرة من المبرمجين, وأعتقد إنني أستخدمه في جميع التطبيقات التي أقوم بعملها لأهميته, من الاستخدامات :

التحقق من الاتصال بالانترنت لعرض فيديو يوتيوب, جلب صورة من الانترنت, عدم الدخول لصفحة معينة إلا في حال وجود انترنت, التأكد من وجود الانترنت للقيام بأمر معين, لا يستطيع الضغط على الزر في حال لم يكن الانترنت متصلاً , اظهار رسالة للمستخدم في حال عدم وجود الانترنت للتنبيه لأن التطبيق يحتاج انترنت, في حال وجود انترنت يقوم بعمل تحديثات داخل التطبيق ..إلخ, استخدمات كثيرة لهذا الكود.

ولكن أكرر ما أكرره كثيراً, إن كل كود مستخدم في الموقع أو أي كود تجده, أي أمر برمجي حله مثل الرياضيات تماماً تستطيع حل المسألة بأكثر من طريقة, أي يوجد غيره من الأكواد التي تؤدي نفس الغرض.

الكود جداً سهل , وهو شبه جاهز .. بينما كان سابقاً يجب أن تقوم بعمل كلاس أوامر فقط من أجل التحقق بالاتصال بالانترنت.

الدالة واضحة, من نوع بولين boolean, اي يحتمل خيارين أما يوجد أو لا يوجد, وأخبرناه في الكود في حال لا يوجد اتصال بالانترنت يرسل لنا اشارة false, في حال كان الجهاز متصلاً بالانترنت يرسل قيمة true, بالتأكيد من لديه خبرة بالأكواد وفي مراحل متوسطة يستطيع تعديل الكود حيث يشاء, ولكن سوف أوضحه قدر الإمكان وداخله رسائل التوست, لكي تجرب الكود ثم تستبدل الرسائل هذه بالأوامر التي تريدها.

في الحالة الافتراضية يوجد اتصال بالانترنت لذلك في الغالب لا يظهر او لا يوجد امر اذا كان متصل , فأغلب الاجهزة متصلة.. لذلك على الغالب نحتاج الكود في حال لا يوجد اتصال بالانترنت لنقوم بأوامر معينة, كي لا أطيل عليكم كثيراً.

الكود هي دالة تضعها دالة منفردة داخل الكلاس وخارج الدوال, ولكن بالتأكيد تستدعيها او تستخدمها حيث شئت وفي الغالب في دالة الاون كريت للتأكد من الاتصال في بداية فتح التطبيق او الاكتفتي.

الكود, او الدالة :

private boolean isNetworkConnected() {
        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo ni = cm.getActiveNetworkInfo();
        if (ni == null) {
            Toast.makeText(getApplicationContext(), "للأسف لا يوجد لديك اتصال بالانترنت", Toast.LENGTH_SHORT).show();
            return false;
        }
        return true;
    }

توضيح في صورة للاستخدام :
check_if_internet_connection_available_android_0

طبعاً بالتأكيد يجب أن يكون هناك صلاحيات للتطبيق بمعرفة حالة الاتصال .. وهذه الصلاحية سوف تستخدمها إذا أردت ان يستخدم تطبيقك الانترنت, وفي حال لا يستخدم الانترنت إذا لا حاجة لهذا الدرس عندك, أو لا تستفيد منه في تطبيقك هذا.

للمعرفة الصلاحيات توضع في ملف المينفيست وهي : <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />

أتمنى لكم الاستفادة .. وإلى اللقاء في دروس قادمة.

عن عبدالقادر عليوي

مواليد 1996 , سوري الجنسية, طالب علم, لدي شغوف كبير في تعلم كل ما يتعلق بالانترنت من تطوير وحماية, أحب القراءة كثيراً .. هدفي نشر العلم بشتى أنواعه ومجالاته, متابع من الدرجة الأولى لـ الدكتور ابراهيم الفقي و الشيخ أحمد ديدات - رحمهم الله -.

شاهد أيضاً

التقنيات التي نستطيع برمجة تطبيقات والعاب الاندرويد بها

هل أنت محتار من أين تريد البدأ في مجال برمجة التطبيقات للهواتف الذكية أو الألعاب عالية الاداء ؟ تعرف في هذا المقال عن اللغات والتقنيات واختر منها ما يناسبك لدخول هذا المجال

تعلم برمجة تطبيق اندرويد لمدونتك البلوجر (1)

هل لديك تدوينة أو موقع إخباري ؟ أو معرض يعرض الكثير من البيانات من وسائط ؟ وبحاجة لعرضها في تطبيق اندرويد ؟ هذه فرصتك من هنا وللمبتدئين تعلم برمجة تطبيق لمدونتك

عرض صورة في التطبيق من فايربيس

بسم الله الرحمن الرحيم اليوم سيكون شرحنا عن كيفية عرض صورة  في التطبيق من قاعدة …

6 تعليقات

  1. السلام عليكم ورحمة الله وبركاته انا جديد في الموقع وانشالله أستفيد من خبراتكم
    .
    الموضوع وهو احتاج مثل هذا الكود للتحقق من اتصال الإنترنت اذا كان متصلاً يخبر التطبيق انه تم الاتصال ويذهب إلي صفحة أخرى واذا لم يكن هناك إنترنت يبقى في نفس الصفحة للبرنامج

    • وعليكم السلام ورحمة الله وبركاته اخي الفاضل .. اهلا وسهلا بك بيننا .

      الكود بسيط .. فقط اعلى return true; ضع ما تريد .. رسالة توست تخبر المستخدم تم الاتصال بالانترنت .. ثم انتنت انتقال الى الصفحة التي تريد ..

      او تستطيع عكس الكود .. لجعله التحقق في حال تم الاتصال ينفذ الاوامر التي تريدها .. وتضع الكود في دالة الاون كريت ..

  2. ياريت تشرح لنا TabHost لاني أحتاجها ضروري جدا
    وطريقة وضع الصفحات والمواضيع داخل كل tab

  3. شكرا يا أخي، و لكن هذا الكود فقط يفحص إذا كان هناك اتصال بشبكة ما سواء كانت تمكن من الولوج للأنترنت أو لا، أرى من الأحسن أن تعدل الكود و تضع مثلا:عندما يكتشف التطبيق أن هناك اتصالا بشبكة معينة يحاول الولوج إلى موقع معين فإن نجح فهذا يعني أن الشبكة تمكن من الولوج للأنترنت و العكس بالعكس. و شكرا.

  4. السلام عليك  اخي الكريم اتمنى ان تكون بصحة جيدة وبافضل حال

    ارجو منك لو تعدل على الكود بحيث في حالة عدم وجود اتصال بالنت يفتح صفحة html  موجودة. داخل ملفات التطبيق

ضع بصمتك بتعليق يعبر عن امتنانك

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.