Лучший способ сохранить небольшой объем данных

#java #android

#java #Android

Вопрос:

В настоящее время я разрабатываю приложение для Android, в котором будет использоваться OAuth. Чтобы использовать OAuth, мне нужно иметь возможность сохранять закрытый ключ пользователя для доступа к защищенным ресурсам. Мой вопрос в том, где бы я хотел сохранить этот крошечный фрагмент данных? Я знаю, что для большинства приложений Android данные будут храниться в базе данных SQLite. Но для всего лишь небольшого объема информации, строки, содержащей случайные буквы и цифры, будет ли SQLite лучшим способом? Или было бы просто лучше записать данные в файл и сохранить их в файловой системе? Я не знаю, какой наилучшей практикой для этого было бы, поэтому, надеюсь, я смогу получить некоторое представление.

Огромное спасибо, ребята!

Ответ №1:

У вас есть большой выбор:

http://developer.android.com/guide/topics/data/data-storage.html

Однако, если вы просто хотите сохранить одну строку (ключ OAuth), я бы предложил использовать общие настройки. Пример:

 SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("oauthKey", yourOAuthKey);

// Commit the edits!
editor.commit();
  

Ответ №2:

Я бы сохранил это в файле на внутреннем хранилище или в общих настройках.

Тем не менее, вы должны зашифровать ключ по соображениям безопасности! На корневом устройстве разработчика oder нет проблем с доступом к любому файлу в системе.

Ответ №3:

С SharedPrefs намного проще работать, чем с базой данных sqlite, особенно для чего-то настолько простого, как вы описываете.

Ответ №4:

Я думаю, что SharedPreference подошел бы просто отлично.