在 android studio 中存储用户登录详细信息

Storing user login details in android studio

我在我的 android 应用程序中实现了 GoogleFacebook 登录。谁能告诉我如何使用共享首选项在应用程序中存储用户详细信息?

您可以使用 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

来自http://developer.android.com/intl/es/training/basics/data-storage/shared-preferences.html#WriteSharedPreference

写入共享首选项

要写入共享首选项文件,请在您的 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是你的文件名