使用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()
方法来提交更改。