[android] 안드로이드에서 네트워크 오류 처리하기

1. 네트워크 연결 상태 확인

앱이 네트워크 연결을 요구하는 기능을 수행하기 전에, 먼저 현재 디바이스의 네트워크 연결 상태를 확인해야합니다. 안드로이드에서는 ConnectivityManager 클래스를 사용하여 네트워크 연결 상태를 확인할 수 있습니다.

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

if (networkInfo != null && networkInfo.isConnected()) {
    // 네트워크 연결 상태 확인 완료
} else {
    // 네트워크에 연결되어 있지 않음
}

2. 네트워크 오류 처리

네트워크 오류가 발생했을 때 사용자에게 적절한 메시지를 제공하고, 필요에 따라 재시도 기능을 제공해야합니다.

if (networkError) {
    Toast.makeText(this, "네트워크 오류가 발생했습니다. 다시 시도해주세요", Toast.LENGTH_SHORT).show();
    // 재시도 버튼 표시 또는 자동 재시도 기능 추가
}

3. Retrofit을 활용한 네트워크 오류 처리

Retrofit 같은 네트워크 통신 라이브러리를 사용하는 경우, 네트워크 오류에 대한 처리를 직접 구현할 수 있습니다.

public void onResponse(Call call, Response response) {
    if (response.isSuccessful()) {
        // 성공 처리
    } else {
        // 오류 처리
        // 서버 오류 코드에 따른 처리 로직 추가
    }
}

public void onFailure(Call call, Throwable t) {
    // 네트워크 오류 처리
    // 예를 들어, Toast 메시지로 네트워크 오류를 알릴 수 있습니다.
    Toast.makeText(this, "네트워크 오류가 발생했습니다", Toast.LENGTH_SHORT).show();
}

안드로이드 앱에서 네트워크 오류를 처리하는 방법에 대해 살펴보았습니다. 네트워크 연결 상태 확인, 오류 메시지 제공 및 Retrofit을 활용한 오류 처리 등으로 사용자에게 원활한 경험을 제공할 수 있습니다.