<이슈>
"들꽃 중년" 프로젝트를 진행 중에 어플을 지웠음에도 SQlite에 저장했던 데이터는 지워지지않는 문제가 있었다.
SQlite에 있는 데이터를 기반으로 Server에서 이미지를 다운 받을지 말지를 결정한다.
앱을 처음 설치하고 이미지를 다운 받는데에는 문제가 없다. 대신 앱을 사용하다가 지우고 (서버에서 다운받은 이미지폴더도 삭제) 재설치 했을 때 문제가 발생한다. 기기내에 서버에서 받은 이미지가 없음에도 SQlite에는 서버에서 받은 이미지의 데이터가 남아있어 이미지를 서버에서 다운 받니 못하는 문제다.
<이슈원인>
이 이슈가 발생 한 이유는 개발자가 따로 설정을 변경해주지 않으면 앱 내의 데이터가 자동으로 사용자 구글 클라우드에 저장이 된다. 이 설정을 변경해줘야 한다.
<해결>
<application
android:allowBackup="false"
.......
간단하다 매니페스트에서 android:allowBackup 가 기본값으로 true 로 설정되어 있는데 이를 false로 바꿔준다.
이때, build error 가 발생할 수 있다.
Manifest merger failed : Attribute application@allowBackup value=(false) from AndroidManifest.xml:19:9-36
is also present at [libName:versionCode] AndroidManifest.xml:12:9-35 value=(true).
Suggestion: add 'tools:replace="android:allowBackup"' to <application> element at AndroidManifest.xml:18:5-100:19 to override.
이는 프로젝트 내에 추가된 라이브러리의 매니페스트 설정이 다르기 때문이다.
이도 간단히 해결할 수 있다. 위 메세지에서 처럼 'tools:replace="android:allowBackup"를 추가해주면 된다
아래처럼
<application
android:allowBackup="false"
tools:replace="android:allowBackup"
.......