Home > Net >  Trying to explain a a java nested loop which checks for a network connection
Trying to explain a a java nested loop which checks for a network connection

Time:10-30

I'm trying to do a written report on some code and I found one on youtube. However I don't understand how this loop works. I understand that it must return a boolean value which then goes into another method but if someone could breakdown what is happening it would be greatly appreciated.

public class Loop {
    public static boolean isConnectedToInternet(Context context){

        ConnectivityManager connectivityManager = (ConnectivityManager)
                context.getSystemService(context.CONNECTIVITY_SERVICE);

        if (connectivityManager!=null){
            NetworkInfo[] info = connectivityManager.getAllNetworkInfo();
            if (info!=null){
                for (int i=0;i<info.length;i  ){
                    if (info[i].getState() == NetworkInfo.State.CONNECTED)
                        return true;
                }
            }
        }
        return false;
    }
}

CodePudding user response:

I added some comments for understanding:

ConnectivityManager connectivityManager = (ConnectivityManager)
                context.getSystemService(context.CONNECTIVITY_SERVICE);
//making the object
        if (connectivityManager!=null){ //if it was instantiated
            NetworkInfo[] info = connectivityManager.getAllNetworkInfo(); //it makes an array of all of the network info
            if (info!=null){ //if this worked (if there's info)
                for (int i=0;i<info.length;i  ){ //looping through data
                    if (info[i].getState() == NetworkInfo.State.CONNECTED) 
                    //if the state of any of the objects is equal to connected (if device is connected)
                        return true; //the device is online
                }
            }
        }
        return false; //the device is not online
  • Related