Wednesday, August 29, 2018

Android 'activeNetwork.getType()' deprecated, activeNetwork.isConnected() 권장

Android에서 네트워크 상태 확인하기

안드로이드 개발 과정에서 네트워크 상태를 확인하는 것은 매우 중요합니다. 이전에는 activeNetwork.getType() 메소드를 사용하여 네트워크 타입을 확인하였지만, 이 메소드는 현재 deprecated 되었습니다.

Deprecated된 메소드 사용 예시

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();

if (activeNetwork != null) {
    if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
        // connected to wifi
    } else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
        // connected to mobile data
    }
} else {
    // not connected to the internet
}

위의 코드는 deprecated된 getType() 메소드를 사용하여 Wi-Fi나 모바일 데이터와 같은 네트워크 타입을 체크합니다.

권장하는 방법

activeNetwork.isConnected()라는 메소드를 사용하는 방식이 권장됩니다. 이 방식은 아래와 같습니다:

public static boolean isNetworkAvailable(Context context) {
    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();
    
    return (activeNetwork != null && activeNetwork.isConnected());
}

.isConnected() 함수를 통해 현재 활성화된 네트워크가 연결되어 있는지 여부만을 확인할 수 있습니다. 이렇게 하면 더 간단하고 직관적으로 네트워크 상태를 판단할 수 있습니다.


0 개의 댓글:

Post a Comment