투케이2K

135. (TWOK/LOGIC) [android] 안드로이드 Api 호출 수행 후 Response 응답 에러 또는 실패 시 재호출 요청 로직 정리 본문

투케이2K 로직정리

135. (TWOK/LOGIC) [android] 안드로이드 Api 호출 수행 후 Response 응답 에러 또는 실패 시 재호출 요청 로직 정리

투케이2K 2025. 3. 6. 20:04

[로직 정리]

정리 로직 : Mobile

상태 : [android] 안드로이드 Api 호출 수행 후 Response 응답 에러 또는 실패 시 재호출 요청 로직 정리

 

[설 명]

// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------

- 안드로이드에서 http 통신을 수행하기 위한 퍼미션 권한 설정 및 네트워크 연결 상태 확인 필요

- 퍼미션 권한 설정 코드 : 

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------

1. 안드로이드 애플리케이션 실행 및 http 통신 api 호출 수행 화면 진입


2. http 호출 수행 전) 휴대폰 네트워크 상태 확인 및 인터넷 사용 가능 한 환경 여부 체크


3. [IF] 인터넷을 사용할 수 없는 상황 인 경우 :

    - 휴대폰 모바일 네트워크 환경 확인이 필요합니다. 팝업창 표시


4. [ELSE] 인터넷을 사용할 수 있는 경우 : 

    - 특정 URL 및 header , body 데이터 추가 후 http 통신 요청 수행 (타임 아웃 시간은 30초 설정)


 5. [ELSE-IF] [정상적으로 http 통신이 성공 한 경우] : 

    - http 통신 성공 완료 팝업창 표시 수행


 6. [ELSE-ELSE] [http 통신 중 문제가 발생한 경우 또는 에러가 발생한 경우] : 

    - http 통신 중 문제가 발생한 에러 메시지 포함 및 http 통신 실패 Alert 팝업창 표시 (닫기, 재호출 버튼 생성)

    - Alert 팝업창에서 [재호출] 수행 버튼 클릭 시 http 통신 수행 메소드 [재귀 호출] 수행

    - Alert 팝업창에서 [닫기] 수행 버튼 클릭 시 ' http 통신이 완료 되지 않았습니다 .. 기능 사용에 문제가 발생 할 수 있습니다. ' 토스트 메시지 표시

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[안드로이드 os 가 장착 된 특정 단말기 에서 정보 갱신을 위한 주기적 폴링 (polling) 체크 로직]

https://blog.naver.com/kkh0977/223638638254?trackingCode=blog_bloghome_searchlist


[유틸 파일] RequestSyncPatchBodyJsonHttp 안드로이드 동기 방식 http patch 요청 실시

https://blog.naver.com/kkh0977/223175440539?trackingCode=blog_bloghome_searchlist


[http 통신 요청 스레드 에러 - android.os.NetworkOnMainThreadException]

https://blog.naver.com/kkh0977/222696839681?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
반응형
Comments