使用PreferenceManager存储数据主要包括以下几个步骤:
getSharedPreferences()方法获取PreferenceManager的实例。这个方法接受一个字符串参数,即存储数据的优先级(如MODE_PRIVATE表示私有模式,MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE表示可读写模式,但后者已被弃用)。PreferenceManager的edit()方法,你可以获取一个SharedPreferences.Editor实例,用于向SharedPreferences中添加或修改数据。Editor的put*()方法(如putString(), putInt(), putBoolean()等),你可以将数据存储到SharedPreferences中。这些方法接受两个参数:键和值。键是一个字符串,用于唯一标识存储的数据;值是要存储的数据。Editor的apply()或commit()方法来提交更改。apply()是一个异步操作,它会在后台线程中执行,并立即返回;而commit()是一个同步操作,它会阻塞当前线程直到数据被写入SharedPreferences。以下是一个简单的示例,演示如何在Activity中使用PreferenceManager存储字符串数据:
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 获取SharedPreferences实例
        SharedPreferences sharedPreferences = getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);
        // 获取Editor实例
        SharedPreferences.Editor editor = sharedPreferences.edit();
        // 使用Editor存储数据
        editor.putString("exampleKey", "exampleValue");
        // 提交更改
        editor.apply();
    }
}
在这个示例中,我们首先获取了名为"MyPreferences"的SharedPreferences实例,然后获取了它的Editor。接着,我们使用putString()方法将键为"exampleKey"、值为"exampleValue"的字符串数据存储到了SharedPreferences中。最后,我们调用了apply()方法来提交更改。