안드로이드 개발 질문/답변
(글 수 45,052)
앱 유지보수에 대해 질문드립니다.
지금까지 저는 SQLite 로컬 dp로 앱을 제작해왔습니다.
그러다보니 데이터베이스가 변경될 때마다 앱 버전을 바꿔서 새로 등록해줘야하는 번거로움이 생기더군요
제 앱이 많은 유저들이 사용하는 국민 앱이 아닌 이상 (카카오톡 같은)
유저들은 분명히 앱 업데이트를 번거롭게 생각할 것입니다. 업데이트 알림창이 떠도 잘 안할꺼구요.
그럼 이쯤되서 개발자들은 두 가지 방법을 생각할 수 있습니다.
첫 번째는 앱 시작 시, 버전을 체크해서 강제로 업데이트하게 해주는 방법과
두 번째는 dp 자체를 서버에서 파싱해오는 방법을 사용하는 것입니다.
그러다 이 두 방법 모두 단점이 존재합니다
첫 번째는 안정성 문제입니다. 마켓을 통한 업데이트가 아닌 독자적으로 데이터베이스를 파싱해서 업데이트 해주는 방법은
업데이트 도중 인터넷이 끊기거나 기타 문제가 발생하면 앱이 정상작동 되지 않을 우려가 높습니다.
두 번째 방법은 인터넷이 굳이 필요없는 앱을 제작할 때에도 3g, 4g를 사용해야지 앱이 실행된다는 겁니다. 또한 매번 서버에서
데이터를 파싱해오면 앱의 속도 또한 느려질 것으로 생각됩니다
여러분들은 어떠한 방법을 쓰십니까?
꿈을 가진 개발자는 행복합니다




DB를 말씀하신거죠?
DB의 구조를 변경하는 일이 아니실꺼 같고....
DB에 신규 데이터(새로운 스테이지, 새로운 정보등등)을 업데이트 하는 것으로 보여지네요...
제가 쓰는 방법은 아래와 같습니다.
저는 접속시점에 서버에 현재 정보의 버전을 얻어와서
로컬DB의 정보버전과 비교를 한다음에 서버의 데이터가 업데이트 되어 있다면,
내려받아서 로컬DB로 insert 시킵니다.
안정성문제라면, 내려받은 데이터가 정확한지를 파악할 수 있게끔 해쉬값같은것으로 처리하면 될테구요..
매번 체크하는거라지만 처음 실행시에 서버DB의 정보버전만 체크하며 되므로 데이터량은 극히 적습니다.
또한 UI Task에서 안하고 따로 쓰레드를 돌려서 처리하기 때문에 앱이 렉걸릴일도 없죠...