بسم الله الرحمن الرحيم
اليوم رح نأخذ كود أكثر من مميز مع إنه بسيط جداً , ولكن يفيد طبقة كبيرة من المبرمجين, وأعتقد إنني أستخدمه في جميع التطبيقات التي أقوم بعملها لأهميته, من الاستخدامات :
التحقق من الاتصال بالانترنت لعرض فيديو يوتيوب, جلب صورة من الانترنت, عدم الدخول لصفحة معينة إلا في حال وجود انترنت, التأكد من وجود الانترنت للقيام بأمر معين, لا يستطيع الضغط على الزر في حال لم يكن الانترنت متصلاً , اظهار رسالة للمستخدم في حال عدم وجود الانترنت للتنبيه لأن التطبيق يحتاج انترنت, في حال وجود انترنت يقوم بعمل تحديثات داخل التطبيق ..إلخ, استخدمات كثيرة لهذا الكود.
ولكن أكرر ما أكرره كثيراً, إن كل كود مستخدم في الموقع أو أي كود تجده, أي أمر برمجي حله مثل الرياضيات تماماً تستطيع حل المسألة بأكثر من طريقة, أي يوجد غيره من الأكواد التي تؤدي نفس الغرض.
الكود جداً سهل , وهو شبه جاهز .. بينما كان سابقاً يجب أن تقوم بعمل كلاس أوامر فقط من أجل التحقق بالاتصال بالانترنت.
الدالة واضحة, من نوع بولين 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; }
طبعاً بالتأكيد يجب أن يكون هناك صلاحيات للتطبيق بمعرفة حالة الاتصال .. وهذه الصلاحية سوف تستخدمها إذا أردت ان يستخدم تطبيقك الانترنت, وفي حال لا يستخدم الانترنت إذا لا حاجة لهذا الدرس عندك, أو لا تستفيد منه في تطبيقك هذا.
للمعرفة الصلاحيات توضع في ملف المينفيست وهي : <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
أتمنى لكم الاستفادة .. وإلى اللقاء في دروس قادمة.
السلام عليكم ورحمة الله وبركاته انا جديد في الموقع وانشالله أستفيد من خبراتكم
.
الموضوع وهو احتاج مثل هذا الكود للتحقق من اتصال الإنترنت اذا كان متصلاً يخبر التطبيق انه تم الاتصال ويذهب إلي صفحة أخرى واذا لم يكن هناك إنترنت يبقى في نفس الصفحة للبرنامج
وعليكم السلام ورحمة الله وبركاته اخي الفاضل .. اهلا وسهلا بك بيننا .
الكود بسيط .. فقط اعلى return true; ضع ما تريد .. رسالة توست تخبر المستخدم تم الاتصال بالانترنت .. ثم انتنت انتقال الى الصفحة التي تريد ..
او تستطيع عكس الكود .. لجعله التحقق في حال تم الاتصال ينفذ الاوامر التي تريدها .. وتضع الكود في دالة الاون كريت ..
ياريت تشرح لنا TabHost لاني أحتاجها ضروري جدا
وطريقة وضع الصفحات والمواضيع داخل كل tab
ان شاء الله اخي .. فقط امر في ظروف صعبة ..
لكن قريباً ان شاء الله اوعدكم بكل جديد ومفيد ..
شكرا يا أخي، و لكن هذا الكود فقط يفحص إذا كان هناك اتصال بشبكة ما سواء كانت تمكن من الولوج للأنترنت أو لا، أرى من الأحسن أن تعدل الكود و تضع مثلا:عندما يكتشف التطبيق أن هناك اتصالا بشبكة معينة يحاول الولوج إلى موقع معين فإن نجح فهذا يعني أن الشبكة تمكن من الولوج للأنترنت و العكس بالعكس. و شكرا.
السلام عليك اخي الكريم اتمنى ان تكون بصحة جيدة وبافضل حال
ارجو منك لو تعدل على الكود بحيث في حالة عدم وجود اتصال بالنت يفتح صفحة html موجودة. داخل ملفات التطبيق