2011-04-25 6 views
2

나는 안드로이드 초보자이며 도움이 될 것입니다. 내가 만들고있는 앱을 통해 사용자는 서버에서 고해상도 비디오를 구입하고 다운로드 할 수 있습니다. 이 비디오는 SD 카드에 저장됩니다.SD 카드에 비공개로 동영상을 저장하는 방법

이 나를 위해 두 가지 문제를 만듭니다

  1. 를 일단 파일이 공개적으로 볼 수 있고 다른 위치에 복사 할 수있는 SD 카드에.
  2. 앱을 제거 할 때 파일이 SD 카드에 남아 있으며 많은 공간을 사용하여 을 차지합니다.

내 질문 :

  1. 내 응용 프로그램에 비디오를 비공개로 할 수 있나요? 내가 이해하고있는 것부터 을 내부 저장소에 저장하면 프라이버시가 제공됩니다. 그러나 내부 저장소 은 SD 카드가 아니므로 은 제한된 공간 만 제공하며 비디오는 많은 공간을 필요로합니다.

  2. 앱을 제거 할 때 동영상이 이 SD 카드에서 제거되었는지 확인하는 방법입니다.

자세한 정보가 필요하면 알려주십시오. 훌륭한 커뮤니티가되어 주셔서 감사합니다!

답변

1

전화에 파일을 올려 놓으면 사용자가 만든 파일에 대한 액세스를 사용자가 막을 수있는 방법이 없습니다.

동영상을 삭제하면 응용 프로그램에서 쉽게 추적 할 수 있습니다.

대부분의 사용자가 파일을 휴대 전화에서 다운로드하지 못하도록 파일을 암호화 할 수 있다고 가정합니다.

+0

고마워, 동영상을 계속 추적한다는 것은 무엇을 의미합니까? Beacause 내가 제거 프로세스를 제어 할 수 없다고 생각합니다. 즉, 사용자가 제거 할 때 SD 카드에서 어떤 파일을 제거해야 할지를 결정할 수 없습니다. onUninstall 콜백 중 일부가 내 앱에서 재정의 할 수 있다면 정말 멋질 것입니다. 하지만 나는 그것이 존재한다고 생각하지 않는다. – Twiste

1

블록 암호 스트림을 사용하여 비디오를 암호화 할 수 있습니다.

CipherOutputStream

+0

니스! 며칠 전이 종류의 수업을 실제로 찾고있었습니다. 그러나, 그것은 단지 내 문제의 파트 1을 해결합니다. 어쨌든 고맙습니다! – Twiste

0

당신은 SQLite는 데이터베이스에서 비디오를 항상을 포함하고 DB를 잠글 수 있습니다. 그런 식으로 제거하면 비디오가 함께 사용됩니다.

+0

이것은 훌륭한 솔루션이 될 수 있다고 생각합니다! 나는 오늘 밤 이것을 시도 할 것이다. 내가 시작하기 전에 어떤 지시 사항이 있습니까? 팁을 주셔서 대단히 감사합니다! – Twiste

+0

내가 생각할 수있는 유일한 것은 db에 객체를 쓸 때 이진 스트림을 사용하는 것이다. – mcauthorn

관련 문제