Где в файловой системе я могу хранить файлы данных приложения? - PullRequest
5 голосов
/ 14 февраля 2010

Мне нужно сохранить некоторые файлы данных для моего приложения Blackberry. Обычно это небольшие файлы png, которые я загружаю и храню локально по соображениям производительности. Также мне нужно локально хранить xml-файл.

Мой вопрос: где эти файлы должны быть сохранены на ежевике? Есть ли такая вещь, как домашняя папка приложения или папка настроек в файловой системе blackberry?

Каким будет путь к такой папке?

Это для BlackBerry OS 4.7 или более поздней версии.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 15 февраля 2010

Если это не очень большой объем данных (и, судя по всему, это не так), взгляните на механизм PersistentStore . Вы можете хранить многие типы данных, включая собственные типы (String, Integer и т. Д.) И даже байтовые данные [] (для изображений), используя PersistentContent . Хорошая вещь о PersistentStore состоит в том, что он не требует какого-либо доступа к файловой системе - он не оставляет файлов висящими - и если вы добавляете пользовательский класс в постоянное хранилище для вашего приложения (даже простой подкласс существующий постоянный класс, такой как Hashtable), он автоматически удалит ваши сохраненные данные, если приложение будет удалено.

2 голосов
/ 14 февраля 2010

Нет официальной домашней папки для вашего приложения. В Blackberry вы можете читать / писать практически что угодно и где угодно (ну, вы можете получить SecurityException / IOException, если попытаетесь изменить некоторые файлы). Вы можете записать на SDCard / внутреннюю память, используя пути, описанные здесь . Если вы беспокоитесь о том, что кто-то увидит и изменит ваши данные, вы ничего не сможете сделать, кроме как установить файлы и каталоги как скрытые с помощью FileConnection.setHidden(true), но это очень неэффективно, поскольку их все равно можно увидеть даже из собственного файлового браузера BlackBerry, если Пользователь выбирает показ скрытых файлов из меню.

Редактировать: Конечно, вы можете зашифровать / расшифровать ваши данные, но это не помешает кому-либо удалить их.

...