[android] 안드로이드 인터넷 연결

안드로이드 앱을 개발할 때 중요한 부분 중 하나는 사용자의 인터넷 연결 상태를 확인하는 것입니다. 사용자가 온라인 상태인지 확인하여 네트워크 요청을 보내거나 오프라인 상태일 때 사용자에게 적절한 안내를 제공할 수 있습니다.

인터넷 연결 상태 확인하기

안드로이드 앱에서 인터넷 연결 상태를 확인하기 위해서는 ConnectivityManager 클래스를 사용합니다. 다음은 간단한 코드 예제입니다.

ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();

if (networkInfo != null && networkInfo.isConnected()) {
    // 사용자가 온라인 상태입니다
    // 네트워크 요청을 보냅니다
} else {
    // 사용자가 오프라인 상태입니다
    // 사용자에게 오프라인 상태임을 알리는 메시지를 표시합니다
}

권한 추가하기

인터넷 연결 상태를 확인하기 위해서는 앱의 AndroidManifest.xml 파일에 인터넷 권한을 추가해야 합니다.

<uses-permission android:name="android.permission.INTERNET" />

앱이 인터넷에 연결할 수 있는 권한이 없다면 ConnectivityManager를 통해 정확한 인터넷 연결 상태를 확인할 수 없습니다.

네트워크 상태 변화 감지하기

때로는 네트워크 상태가 변화할 때 앱에 대한 적절한 조치를 취해야 할 수 있습니다. 이를 위해 네트워크 상태 변화를 감지하는 브로드캐스트 리시버를 등록할 수 있습니다.

public class NetworkChangeReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // 네트워크 상태가 변화했을 때 실행되는 코드
        // 네트워크 상태 변화에 따른 조치를 취합니다
    }
}

// 브로드캐스트 리시버 등록
IntentFilter intentFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(new NetworkChangeReceiver(), intentFilter);

위와 같이 브로드캐스트 리시버를 등록하면 네트워크 상태가 변할 때마다 onReceive 메서드가 실행됩니다.

앱에서 인터넷 연결 상태를 확인하고 관리하는 것은 사용자 경험을 향상시키는 데 중요한 부분입니다. 사용자가 네트워크에 연결되어 있는지 여부를 확인하여 적절한 조치를 취하면 더 나은 앱을 제공할 수 있을 것입니다.


참고 문헌: