안녕하세요. 초보 개발자입니다.
안드로이드 개발에 대해서 거의 모르지만 아이디어 하나 믿고 구글링해가며 어찌어찌 앱을 하나 만들어서 출시했는데요, 배포까지 된 단계에서 업데이트를 하려니 기본적인 시스템 구조를 몰라서 좀 난처해졌습니다.
앱에서 사용자 데이터를 파일로 저장하는 부분이 있는데요,
FileOutputStream file = openFileOutput(FILENAME, Context.MODE_PRIVATE);
이런 형태로 파일을 생성해서 거기에 데이터를 저장하고 다음 번에 앱 로딩할 때는 FileInputStream으로 불러와서 데이터를 사용하였습니다.
그런데 이 상태에서 앱 버전을 업데이트하니 기존에 깔려 있던 구 버전이 삭제되고 신 버전을 깔면서 사용자 데이터도 모두 소실되어 버리더군요. 사용자들의 항의가 빗발칩니다ㅠ
구글링을 해보니 SD카드에 저장해야 앱 업데이트 시 삭제되지 않는다고 하여 앱을 그렇게 고쳐서 업데이트를 하려고 보니, 그러면 변경 전 버전 사용자들이 업데이트를 하면서 데이터를 모두 날리게 될 테니 또 항의를 받을 게 분명합니다ㅠ
어떻게 하면 기존 사용자 데이터를 안전하게 이식하면서 앱 업데이트를 수행할 수 있을까요?
앱 업데이트 시에 수행되는 스크립트?에 접근해서 기존 사용자 데이터를 SD카드에 옮기고 앱 업데이트 작업을 할 수 있는 방법이 있을까요?