[android] 안드로이드에서 네트워크 연결 리스너 처리하기
안드로이드 앱을 개발할 때 네트워크 연결 상태를 확인하고 이에 대한 처리를 하는 것은 중요합니다. 이를 위해 안드로이드에서는 ConnectivityManager
클래스를 사용하여 네트워크 상태를 확인하고, ConnectivityManager.NetworkCallback
을 구현하여 네트워크 연결 변경 이벤트를 처리할 수 있습니다.
1. 네트워크 상태 확인하기
안드로이드에서 현재 네트워크 상태를 확인하려면 다음과 같이 ConnectivityManager
를 사용합니다.
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) {
// 인터넷 연결 상태
} else {
// 인터넷 미연결 상태
}
2. 네트워크 변경 이벤트 처리하기
네트워크 연결 상태가 변경될 때마다 콜백을 받아 처리하려면 ConnectivityManager.NetworkCallback
을 구현합니다.
private ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
super.onAvailable(network);
// 네트워크 연결 가능할 때 처리
}
@Override
public void onLost(Network network) {
super.onLost(network);
// 네트워크 연결 끊겼을 때 처리
}
};
connectivityManager.registerDefaultNetworkCallback(networkCallback);
위와 같이 ConnectivityManager.NetworkCallback
을 구현하여 connectivityManager.registerDefaultNetworkCallback(networkCallback)
를 호출하면 네트워크 연결 상태 변경 시에 onAvailable()
와 onLost()
콜백 메서드가 호출됩니다.
안드로이드에서 네트워크 연결 리스너를 처리하는 방법에 대해 알아보았습니다. 네트워크 상태를 확인하고 이벤트를 감지하여 적절한 처리를 함으로써 사용자 경험을 향상시킬 수 있습니다.
참고 문헌: