안드로이드 개발 질문/답변
(글 수 45,052)
제가 지금 앱을 개발중인데 현재 지정된 db파일을 어플실행시 sd카드에 복사 하는 형식으로 하고 있는데
저번에 구글링 하던도중 db파일이 1MB 가 넘어서면 안된다는 글을 본적이 있는데
그건 왜그런건가여? 이유좀 갈켜주세요... 고수님들아아
2010.06.18 10:41:59
그건 DB 파일이 1mb를 넘으면 안된다는 얘기가 아니고, assets 디렉토리에 1mb 이상의 단일 파일을 넣을 수가 없기 때문에 나온 얘기입니다.
db 파일은 용량이 커도 상관 없습니다. 단, 그것을 어떻게 apk에 같이 패키징하느냐가 문제입니다.
좀만 뒤져보시면 나오겠지만, 1mb 이상의 db 파일을, 여러개로 분할해서, assets 디렉토리에 넣어서 패키징하고, 배포한 후에, 런타임 시에 SD 카드로 복사하면서 파일을 합쳐버리면 됩니다.
근데 이런 식으로 하게되면 생기는 문제가 apk 파일 크기가 커지죠.
저의 경험담을 알려드리자면, 저는 3mb의 db 파일을 넣어서 배포하였습니다. apk는 압축되므로, 실제 apk용량은 2메가 정도 되었었습니다. 이 정도되면 사용자들께서는 용량이 크다고 불만이 많습니다. 어차피 SD 카드로 복사되면 필요없는 부분을 내장 메모리에 차지시켜놔야하는 문제가 있기 때문이죠.
결국 저는, db 파일은 밖으로 빼서, 런타임시 인터넷에서 다운로드하여 SD 카드에 저장하는 방식을 취하였습니다.
이렇게 하려면, 웹서버가 있어야하지만, 저는 일단 구글 프로젝트 호스팅에 있는, 다운로드 호스팅으로 해결... -_-;