Как сделать файл скрытым в Android SD-карте? - PullRequest
9 голосов
/ 15 июля 2009

Я создаю android приложение, которое содержит БД, которая должна быть скрыта (недоступна пользователю) на SD-карте. Может кто-нибудь сказать мне, как это сделать?

Ответы [ 6 ]

11 голосов
/ 15 июля 2009

Любой файл, хранящийся на SD-карте, доступен как для приложений, работающих на телефоне, так и для пользователей, которые установили SD-карту (как в телефоне, так и в других случаях).

Вы можете изменить свойства файла, чтобы он стал «скрытым», но он все равно будет легко найден. Невозможно сделать файл в общедоступном разделе, например на SD-карте, «безопасным», как вы описали, - пользователи всегда смогут скопировать, удалить и, возможно, изменить файл.

Лучшее решение вашей проблемы - поиск способов шифрования базы данных для ее безопасной записи. Вы не сможете запретить пользователям удалять или копировать файл, но вы должны затруднить им чтение данных из него или изменение его содержимого.

7 голосов
/ 15 июля 2009

Для простого решения, просто префикс файла db с. (как .dbfile). Это скроет файл в системах на базе Linux, включая android.

Я предполагаю, что вы хотите скрыть файл, чтобы пользователи не могли случайно удалить / изменить его.

3 голосов
/ 14 февраля 2014

просто назовите начало файла: "Dot" ... ".myFolder / .myfile"

3 голосов
/ 15 июля 2009

SD-карты не могут быть защищены тем способом, который вы ищете.

1 голос
/ 09 октября 2014

Вы можете создать папку, имя которой начинается с точки (.) Пример (.dbfiles) android. Смотрите эти папки как конфигурационную папку и не отображайте содержимое этой папки в приложениях, таких как галерея, музыкальный проигрыватель ... Вы можете увидеть эти папки с расширенным файловым менеджером, таким как Es File Explorer

0 голосов
/ 13 января 2015

SDCard вы не можете! Внутренний раздел данных приложения - это место для вас.

...