المواضيع

فحص الإتصال بالشبكة و الإنترنت android


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

دالة فحص الإنترنت    ترجع true  او  false    نتيجة  فحص الإتصال

public static boolean isNetworkAvailable(Context context) {

        boolean outcome = false;

       if (context != null) {

            ConnectivityManager cm = (ConnectivityManager) context

                    .getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo[] networkInfos = cm.getAllNetworkInfo();
            for (NetworkInfo tempNetworkInfo : networkInfos) {
                if (tempNetworkInfo.isConnected()) {

                    outcome = true;
                    break;
                }
            }
        }
        return outcome;

    }
هذه دالة اخري نستطيع استخدامها في عرض مربع رسالة حوارية
public void showMsgDialog(Context context, String title, String message) {
        AlertDialog alertDialog = new AlertDialog.Builder(context).create();

        alertDialog.setTitle(title);
        alertDialog.setMessage(message);
         
        alertDialog.setButton("موافق", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
            }
        });
 
        alertDialog.show();
    }
الكود كامل
package com.example.jhj;


import java.util.Locale;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.SearchManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;


public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mainnew);

        if(isNetworkAvailable(getApplicationContext()))
        {
         showMsgDialog(MainActivity.this, "تم الإتصال بنجاح", "يوجد حاليا اتصال بالإنترنت ");
        }
        else 
        {showMsgDialog(MainActivity.this, "عذرا", "لا يوجد اتصال بالإنترنت او الشبكة ");}
    } 
    
    public static boolean isNetworkAvailable(Context context) {

        boolean outcome = false;

       if (context != null) {

            ConnectivityManager cm = (ConnectivityManager) context

                    .getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo[] networkInfos = cm.getAllNetworkInfo();
            for (NetworkInfo tempNetworkInfo : networkInfos) {
                if (tempNetworkInfo.isConnected()) {

                    outcome = true;
                    break;
                }
            }
        }
        return outcome;

    }
    public void showMsgDialog(Context context, String title, String message) {
        AlertDialog alertDialog = new AlertDialog.Builder(context).create();

        alertDialog.setTitle(title);
        alertDialog.setMessage(message);
         
        alertDialog.setButton("موافق", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
            }
        });
 
        alertDialog.show();
    }
}
اخيرا لا ننسي ملف manifest و اضافة الصلاحيات مثل صلاحية الوصول للإنترنت و صلاحية حالة الشبكة

<?xml version="1.0" encoding="utf-8"?>
.android.com/apk/res/android" package="com.example.jhj" andr
<manifest xmlns:android="http://schema soid:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8"/>
<!-- Network State Perm
<!-- Internet Permissions --> <uses-permission android:name="android.permission.INTERNET" /> issions -->
roid:allowBackup="true" android:icon="@drawable/ic_launcher" a
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <application an dndroid:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.jhj.MainActivity"
<category android:name="android.in
android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> tent.category.LAUNCHER" /> </intent-filter> </activity> </application>
</manifest >
 تحميل التطبيق مفتوح المصدر
 شكرا لكم  .....      ادعو لي و لوالدي   بالهداية 

ليست هناك تعليقات:

إرسال تعليق

عرب رويد arabroid Designed by Templateism | MyBloggerLab Copyright © 2014

صور المظاهر بواسطة richcano. يتم التشغيل بواسطة Blogger.