#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 подошел бы просто отлично.