Android выбирает место для установки данных приложения - PullRequest
0 голосов
/ 15 ноября 2011

Меня интересует одна вещь: я хочу во время первой установки спросить у пользователя, где сохранить данные, которые он получит после первой синхронизации, на SD-карте или в памяти телефона и разрешить ему перемещать файлы, если сначала он решает сохранить их в памяти телефона, но после этого он решает перенести их на SD-карту. Мой вопрос в том, как лучше запомнить его выбор и построить мою логику в зависимости от этого. Я думал об использовании SharedPreferences, чтобы сохранить выбор пользователя:

   editor.putBoolean("isSdCard",true);
   editor.putBoolean("isPhoneMemory", false);

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

Любые другие предложения, которые будут лучшим решением в моем случае?

1 Ответ

1 голос
/ 15 ноября 2011

Я не знаю много вашего приложения, но если к вашему приложению применимы следующие вещи, у меня может быть другое решение.

  • Ваше приложение может быть полностью перемещено на SD-карту.
  • Данные, которые загружаются временно, это означает, что если пользователь захочет удалить их, это не повредит приложению, и пользователь может перезагрузить данные позже.
  • Не важно, чтобы пользователь имел доступ к данным через внешний файловый браузер

Если это так, избавьтесь от этой опции. Параметры всегда отвлекают пользователя от основного использования приложения. Просто установите в качестве места установки авто и пусть пользователь сам решит, куда поместить ваше приложение. Теперь сохраните данные в cacheDir вашего приложения.

Плюсы этого подхода:

  • Кэш будет расположен на SD-карте, если приложение находится на SD-карте, и во внутренней памяти, если приложение находится во внутренней памяти.
  • Кроме того, данные удаляются, если пользователь удаляет приложение. Если данные сохранены на SD-карте, невозможно удалить эти данные после удаления пользователем приложения.
  • Пользователь видит, сколько памяти использует ваше приложение, на панели настроек приложений.
  • Если пользователю нужна память, он может удалить все файлы, которые объявлены как не важные для вас, через панель настроек приложений, не удаляя случайно важные файлы, такие как настройки
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...