안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
개발 도중, 이미지가 1000여장이 넘어서 어플에 모두 포함을 시켜버리면 내장 메모리의 압박이 심할 듯 하여
이미지 파일을 SD 카드에 저장을 해서 사용해야 하는 상황이 생겼습니다.
이럴 경우 사용자들이 SD카드에 너무 쉽게 접근하여 이미지를 빼낼 수 있는 위험이 있습니다.
이 때 빼내는 것은 어쩔 수 없다 치더라도 이미지를 쉽게 열어보지 못하게 할 만한 방법이 없을까요?
제 무지한 지식에 답이 안나오네요..
감사합니다.
개발 도중, 이미지가 1000여장이 넘어서 어플에 모두 포함을 시켜버리면 내장 메모리의 압박이 심할 듯 하여
이미지 파일을 SD 카드에 저장을 해서 사용해야 하는 상황이 생겼습니다.
이럴 경우 사용자들이 SD카드에 너무 쉽게 접근하여 이미지를 빼낼 수 있는 위험이 있습니다.
이 때 빼내는 것은 어쩔 수 없다 치더라도 이미지를 쉽게 열어보지 못하게 할 만한 방법이 없을까요?
제 무지한 지식에 답이 안나오네요..
감사합니다.
2010.05.24 10:46:48
찾아 보면 여러가지 방법이 있을듯 합니다.
우선 SD카드에 있는 이미지를 encryption을 걸어서 복호화 한 후에 저장합니다.
이것을 읽어서 jpg나 png같은 이미지로 변환하는 함수를 JNI등으로 만들어서 파일을 읽기 전에 decryption해서 화면에 뿌리게 합니다.
이렇게 하면 단점은 이미지 처리시 속도가 늦어 지는 문제가 발생합니다.
다른 방법은 이미지를 한 파일로 묶어서 다른 확장자로 만드는 것입니다. 이건 간다는 프로그램을 하나 만들어서 하나로 묶으면 되고
그 offset값을 가지고 있으면 그 파일의 특정 offset로 건너 뛰어서 이미지를 디코딩 하게 합니다.
이방법은 이미지를 보기 불편하게 할 뿐이지 완벽하게 보호는 하지 못합니다.