在 android studio 中存储用户登录详细信息
Storing user login details in android studio
我在我的 android 应用程序中实现了 Google 和 Facebook 登录。谁能告诉我如何使用共享首选项在应用程序中存储用户详细信息?
您可以使用 SharedPreferences 来存储它并检查是否有用户登录:
private void saveUser(Users user) {
SharedPreferences preferences = getApplicationContext().getSharedPreferences("loginPref", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("userId", user.getUserId());
editor.putString("userName", user.getUserName());// or put anything you want in this with String type
editor.putString("registration_id", user.getRegistrationId());
editor.apply();
}
你应该使用 editor.apply()
而不是 commit()
因为 apply()
将 运行 在你的后台线程中并且不要与主线程发生任何冲突。
然后你可以像这样从中获取值:
SharedPreferences preferences = getApplicationContext().getSharedPreferences("loginPref", MODE_PRIVATE);
int id = preferences.getInt("userId", 0);// 0 is default values
写入共享首选项
要写入共享首选项文件,请在您的 SharedPreferences 上调用 edit() 创建一个 SharedPreferences.Editor。
通过putInt()
和putString()
等方法传递您要写入的键和值。然后调用 commit()
保存更改。例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();
从共享首选项中读取
要从共享首选项文件中检索值,请调用 getInt()
和 getString()
等方法,提供所需值的键,并可选择将默认值设为 return如果密钥不存在。例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);
检查示例 Android Shared preferences example.
在共享中设置值
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("name", "raks");
editor.putInt("idName", 1);
editor.commit();
从共享中获取价值
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
int idName = prefs.getInt("idName", 0); //0 is the default value.
这里MY_PREFS_NAME是你的文件名
我在我的 android 应用程序中实现了 Google 和 Facebook 登录。谁能告诉我如何使用共享首选项在应用程序中存储用户详细信息?
您可以使用 SharedPreferences 来存储它并检查是否有用户登录:
private void saveUser(Users user) {
SharedPreferences preferences = getApplicationContext().getSharedPreferences("loginPref", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("userId", user.getUserId());
editor.putString("userName", user.getUserName());// or put anything you want in this with String type
editor.putString("registration_id", user.getRegistrationId());
editor.apply();
}
你应该使用 editor.apply()
而不是 commit()
因为 apply()
将 运行 在你的后台线程中并且不要与主线程发生任何冲突。
然后你可以像这样从中获取值:
SharedPreferences preferences = getApplicationContext().getSharedPreferences("loginPref", MODE_PRIVATE);
int id = preferences.getInt("userId", 0);// 0 is default values
写入共享首选项
要写入共享首选项文件,请在您的 SharedPreferences 上调用 edit() 创建一个 SharedPreferences.Editor。
通过putInt()
和putString()
等方法传递您要写入的键和值。然后调用 commit()
保存更改。例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();
从共享首选项中读取
要从共享首选项文件中检索值,请调用 getInt()
和 getString()
等方法,提供所需值的键,并可选择将默认值设为 return如果密钥不存在。例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);
检查示例 Android Shared preferences example.
在共享中设置值
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("name", "raks");
editor.putInt("idName", 1);
editor.commit();
从共享中获取价值
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
int idName = prefs.getInt("idName", 0); //0 is the default value.
这里MY_PREFS_NAME是你的文件名