使用PreferenceManager
存储数据主要包括以下几个步骤:
- 获取PreferenceManager的实例:通常,你可以在Activity中通过
getSharedPreferences()
方法获取PreferenceManager
的实例。这个方法接受一个字符串参数,即存储数据的优先级(如MODE_PRIVATE
表示私有模式,MODE_WORLD_READABLE
和MODE_WORLD_WRITEABLE
表示可读写模式,但后者已被弃用)。 - 创建或获取SharedPreferences中的Editor:通过
PreferenceManager
的edit()
方法,你可以获取一个SharedPreferences.Editor
实例,用于向SharedPreferences中添加或修改数据。 - 使用Editor存储数据:使用
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()
方法来提交更改。