투케이2K

89. (TWOK/LOGIC) [android] 안드로이드 Alert 팝업창 중복 호출 방지를 위한 dismiss 닫기 처리 및 재사용 팝업창 생성 로직 본문

투케이2K 로직정리

89. (TWOK/LOGIC) [android] 안드로이드 Alert 팝업창 중복 호출 방지를 위한 dismiss 닫기 처리 및 재사용 팝업창 생성 로직

투케이2K 2024. 10. 17. 11:31

[로직 정리]

정리 로직 : Android / 안드로이드

상태 : [android] 안드로이드 Alert 팝업창 중복 호출 방지를 위한 dismiss 닫기 처리 및 재사용 팝업창 생성 로직

 

[설 명]

 


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

- 안드로이드 Alert 팝업창 생성 시 외부 영역 클릭 시 닫히지 않게 builder.setCancelable(false); 설정 필요

- 안드로이드 라이프사이클 onResume 부분에서 팝업창 생성 및 사용자에게 알림 메시지 제공 필요 (ex : 앱 업데이트가 필요합니다)

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






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

1. 안드로이드 onResume 라이프 사이클에서 Alert 팝업창 생성 수행 실시

  >> AlertDialog.Builder builder = new AlertDialog.Builder(A_Intro.this);

  >> AlertDialog alertDialog; // 전역 변수로 생성 필요

  >> alertDialog = builder.create(); // builder 는 상위에서 생성한 팝업창 빌더

  >> alertDialog.show(); // 팝업창 표시 수행


2. 사용자는 팝업창 내용 확인 후 [마켓 이동] 버튼 클릭 시 생성 된 팝업창 dismiss 닫기 처리 수행 후 Intent 마켓 이동

  >> [마켓 이동] 버튼 클릭 시 팝업창 닫기 처리 및 alert 팝업창 전역 변수 null 초기화 필요

  >> 방어 로직으로 onPause 라이프 사이클에서 팝업창이 null 이 아니고 show 표시 상태 인 경우 dismiss 팝업창 닫기 처리 수행 실시


3. 사용자는 마켓 이동 후 앱 업데이트를 하지 않고 다시 백그라운드에 내려가 있는 앱 활성 시 , 상단에 표시된 onResume 에서 팝업창 재생성 수행 실시


4. 참고 : 팝업창 버튼 클릭 시 dismiss 닫기 처리를 해도 되지만, onResume 팝업창 생성 부분에서 사전 팝업창 null 체크 및 show 활성 상태 체크 후 닫기 처리 후 재생성을 할 수 있습니다

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






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

[Java : Alert 팝업창 조건 체크 dismiss 닫기 막기 - getButton]

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


[Kotlin : Alert 팝업창 조건 체크 dismiss 닫기 막기 - getButton]

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

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

 

반응형
Comments