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

在android studio中存储用户登录详细信息,android,android-studio,sharedpreferences,storage,android-database,Android,Android Studio,Sharedpreferences,Storage,Android Database,我已经在我的android应用程序中实现了Google和Facebook登录。有人能告诉我如何使用共享首选项在应用程序中存储用户详细信息吗?您可以共享首选项来存储用户详细信息,并检查用户日志记录: private void saveUser(Users user) { SharedPreferences preferences = getApplicationContext().getSharedPreferences("loginPref", MODE_PRIVATE);

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

您可以共享首选项来存储用户详细信息,并检查用户日志记录:

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

写入共享首选项

若要写入共享首选项文件,请通过调用SharedReferences上的edit()来创建SharedReferences.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();
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);
从共享首选项读取

要从共享首选项文件中检索值,请调用方法,如
getInt()
getString()
,提供所需值的键,如果键不存在,还可以选择返回默认值。例如:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();
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);

检查示例。

在共享中设置值

    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是您的文件名

使用共享首选项使用共享首选项您可以存储它看到这个。如何实现共享首选项?。试试看。询问您在这里遇到的具体问题。@GeraldSchneider谢谢!