본문 바로가기

Android26

[Android] 앱 삭제 시에도 SharedPreference가 남아있는 현상 앱 삭제 시 Google 클라우드 백업 및 장치 간 데이터 전송을 비활성화하는 역할을 합니다. 즉, 앱을 삭제하거나 재설치할 때 기존 데이터가 Google 계정을 통해 복원되지 않도록 설정하는 코드입니다.앱 삭제 자체와는 관계없으며, 앱의 데이터 파일이나 설정을 삭제하거나 날리는 작업은 하지 않습니다. 아래에서 다시 한번 정리해 드릴게요.Google 클라우드 백업(Google Drive를 통한 자동 백업)을 비활성화합니다.앱 데이터를 Google 계정에 저장하지 않도록 설정합니다.낼 더 자세히 쓰도록 2024. 11. 21.
[Android] 안드로이드 앱 비동기 처리 및 interceptor 네트워크 모듈과 인터셉터는 HTTP 통신을 관리하고, 요청 및 응답을 처리하는 데 중요한 역할을 합니다. 이들은 Retrofit과 OkHttp 라이브러리를 중심으로 설계되고 사용됩니다.1. 네트워크 모듈(Network Module)네트워크 모듈은 API 통신을 중앙에서 관리하는 구조로, 앱의 네트워크 요청을 효율적으로 처리하기 위한 설계입니다.역할API 클라이언트 설정 및 초기화.공통적인 네트워크 관련 설정 관리.요청 인터셉터, 응답 처리, 오류 처리 등 통합 관리.네트워크 모듈 설계 예제Step 1: Gradle 의존성 추가implementation 'com.squareup.retrofit2:retrofit:2.9.0'implementation 'com.squareup.retrofit2:converte.. 2024. 11. 20.
[Android] FLAG_ACTIVITY_SINGLE_TOP 와 FLAG_ACTIVITY_CLEAR_TOP 차이점 Intent.FLAG_ACTIVITY_SINGLE_TOP이 플래그는 현재 Task의 최상단에 동일한 Activity가 이미 있다면 새로 생성하지 않고 기존 Activity의 onNewIntent() 메서드를 호출합니다.조건: 동일한 클래스의 Activity가 Task의 최상단에 있어야 합니다.Intent.FLAG_ACTIVITY_CLEAR_TOP이 플래그는 스택에 동일한 Activity가 이미 존재하는 경우, 해당 Activity 위의 모든 Activity를 종료합니다.종료 후, 동일한 Activity는 새로 생성하거나 onNewIntent()를 호출합니다. 어떤 동작이 발생할지는 Intent.FLAG_ACTIVITY_SINGLE_TOP의 유무에 따라 달라집니다. 플래그에 따라 기존 화면을 다시 그릴 지.. 2024. 11. 19.
[Android] gradle를 활용한 firebase App distribution 배포 후 slack 알람 연동 * 이미 gradle을 활용한 firebase App distribution 은 개발되어있던 상태.* 그러므로 앱이 배포되면, 따로 슬랙 메세지를 보냈어야 했다.* 하지만, 배포가 되자마자 바로 슬랙 메세지를 보내는 봇을 만들자! firebase App distribution 공식 문서https://firebase.google.com/docs/app-distribution/android/distribute-gradle?hl=ko Gradle을 사용하여 Android 앱 배포  |  Firebase App Distribution의견 보내기 Gradle을 사용하여 Android 앱 배포 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. APK AAB App Distribution.. 2024. 11. 17.
[Android] Activity 스택 관리와 LocalBroadcastManager 활용하기 이 글은 안드로이드에서 Activity 전환 시 이전 Activity가 완전히 종료되지 않고 스택에 남아있는 이유와, LocalBroadcastManager를 사용하여 Activity 간 통신을 처리하는 방법에 대해 설명합니다.1. Activity 스택 동작 방식안드로이드에서는 Activity 전환 시 이전 Activity가 바로 종료되지 않고 백그라운드 스택에 남아있습니다. 이전 Activity가 완전히 종료되는 경우는 다음과 같습니다:finish()가 명시적으로 호출되는 경우시스템 메모리가 부족한 경우manifest에서 configChange 설정에 의해 종료되는 경우Activity의 launchMode 설정에 따라 예시: Activity 전환 시 스택 상태예를 들어, Activity A에서 Acti.. 2024. 11. 14.
[Android] 강제 업데이트 & 수동 업데이트 ? 플로니 앱에서 당장 서버 도메인을 2일 이내에 바꿔야한다. 서버 변경 전(14일 밤 이전)- 변경 기간, 변경 후를 고려해서 팝업 보여주는 로직을 빨리 개발해서 서버 변경 기간 전에 배포해야 한다. - 이 때 까지는, 기존 도메인 주소를 사용할 수 있게 해야겠지..? --- 여기서 서버 변경 기간 전에!!! 업데이트 배포를 해야한다. 현재 팝업 고려 안되어있음!! 서버 변경 기간(14일 밤 ~ 15일 새벽)- 강제 중단 팝업을 띄우고 앱 사용 못하게 막아야 한다. - 스플래시 화면에서, 서버 변경 기간에 해당하게 되면 팝업을 보여준다. --- 여기서 url을 바꾼 (새 도메인)으로 변경한 앱을 심사를 올려야 한다. (이때는 관리형 게시를 활용) --- 서버 변경 후. 미리 올려놓은 앱을 게시하도록 변경하.. 2024. 11. 13.