Android更改存储的SharedPreferences值?

cfr*_*frz 2 java android

我在登录时创建了一个共享首选项文件,但我无法找出更改我的应用程序内部首选项的代码.

SharedPreferences.java

    public void editHospitalId(String hospital_id) {
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(_context);
        Editor editor = prefs.edit();
        editor.putString(KEY_HOSPITALID, hospital_id);
        editor.commit();
}
Run Code Online (Sandbox Code Playgroud)

我已经在登录时初始化了KEY_HOSPITALID的值:

SharedPreferences.java

// Constructor
public SessionManager(Context context){
    this._context = context;
    pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
    editor = pref.edit();
}

// create login session

public void createLoginSession(String name, String hospital_id){
    // Storing login value as TRUE
    editor.putBoolean(IS_LOGIN, true);

    // Storing name in pref
    editor.putString(KEY_NAME, name);

    // Storing email in pref
    editor.putString(KEY_HOSPITALID, hospital_id);

    // commit changes
    editor.commit();
Run Code Online (Sandbox Code Playgroud)

我想我可以删除该值并重新添加它?但必须有一种方法来覆盖它.

Iva*_*ric 5

SharedPreferences包含数据作为键值对,因此无论是否已设置,调用putString(KEY, VALUE)都将分配VALUEKEY它.简而言之,它会自动删除先前的条目.