Сохранение информации о пользователе в настройках приложения
Я создаю логин в своем приложении. Пользователь вводит свою информацию, которую я отправляю в веб-службу, чтобы проверить и получить его идентификатор. Теперь мне нужно сохранить его где-нибудь в моем приложении, чтобы проверить, есть ли у него вход.
Итак, где эта информация должна быть сохранена? Я знаю, что у каждого приложения есть настройки, поэтому должна быть эта информация? Может быть, кто-то может дать мне больше информации о том, что и как это делается.
Спасибо.
Я нашел этот пост:
Каков наиболее подходящий способ хранения пользовательских настроек в приложении для Android
Я считаю, что мой вопрос повторялся. Но было бы неплохо, если бы у вас было что-то, чтобы поделиться больше.
Ответы
Ответ 1
Прежде всего сохраните информацию пользователя, такую как uname и password, в SharedPreferences с этим кодом.
SharedPreferences settings = getSharedPreferences("UserInfo", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("Username",txtUname.getText().toString());
editor.putString("Password",txtPWD.getText().toString());
editor.commit();
а затем получить SharedPreferences из ниже кода
SharedPreferences settings = getSharedPreferences("UserInfo", 0);
txtUname.setText(settings.getString("Username", "").toString());
txtPWD.setText(settings.getString("Password", "").toString());
Ответ 2
Ответ Использовать класс приложения или общие настройки
Я предполагаю, что вы можете легко найти пример Application Class
, SharedPreferences
и SQLite Database
Итак, я упоминаю, где я могу использовать какие опции
Application Class
Когда я получил что-либо (var, array, list, objects) для хранения только для LifeTime для приложения... и по мере приближения (для Android Force Close) я использую класс приложения.
SharedPreferences
Я использую это, когда получаю некоторую короткую информацию, такую как идентификатор, токен, имя пользователя, флаги, и я хочу сохранить это до тех пор, пока приложение будет оставаться на устройстве... и нужно использовать эту информацию каждый раз, когда я запускаю приложение.
SQLite Database
Когда в формате записи (Row-Column) есть объемные данные, я использовал его для хранения в базе данных, чтобы он стал легко хранить, извлекать и манипулировать.
Ответ 3
Вы можете использовать SharedPreferences для этого.
Некоторые коды из ссылок (взяты из документации):
public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
. . .
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean("silentMode", false);
setSilent(silent);
}
@Override
protected void onStop(){
super.onStop();
// We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", mSilentMode);
// Commit the edits!
editor.commit();
}
}
Ответ 4
если пользователь очистит данные приложения от установки → Диспетчер приложений → ваше приложение → очистить данные
тогда все данные, сохраненные в общих настройках, будут удалены.