Android сохранить настройки приложения / данные во внутреннем / внешнем хранилище - PullRequest
2 голосов
/ 14 ноября 2011

Мне нужна небольшая помощь в понимании того, что я могу сделать, а что нет в Android.Я работаю над приложением, которое при первом запуске должно попросить пользователя выбрать устройство (внутреннее / внешнее хранилище), где сохранить данные, которые мое приложение загружает через Интернет.Поэтому я пытаюсь найти ответ на несколько вопросов об этой проблеме:

  1. Существует ли ограничение для данных во внутреннем / внешнем хранилище в Android для одного приложения.
  2. МожетЯ устанавливаю каталог базы данных sqlite, которую использует мое приложение, и, если я могу, является ли это хорошей практикой или нет.
  3. Что следует учитывать, когда пользователь решает изменить назначение данных приложения с внутреннего навнешнее хранилище.Должен ли я снова создавать все папки и т. Д. Или платформа Android делает это автоматически?

Заранее спасибо!

1 Ответ

1 голос
/ 14 ноября 2011
  1. Ваш лимит на внешнее хранилище (SDCARD) определяется только его емкостью, я не уверен насчет внутреннего хранилища, может быть, такая же ситуация.
  2. Вы можете расширить SQLiteOpenHelper и создать свой собственный адаптер БД, который будет управлять вашей базой данных и хранить ее на SD-карте или в каталоге / data / database. Я думаю, что лучше не размещать базу данных на SDCARD, потому что любое другое приложение может получить к ней доступ. С другой стороны, папка / data / является частной.
  3. Это хитрая вещь. Вы должны быть осторожны при копировании данных. Проверьте, существует ли каталог файла, прежде чем писать в них. Лучше явно создавать все файлы и каталоги, прежде чем пытаться писать в них.

Здесь является хорошим примером Database Helper для доступа к базе данных. Вы можете изменить его, чтобы он мог использовать как внешнее, так и внутреннее хранилище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...