在Android下,sharedprefences怎么用?写一个完整的例子
时间: 2024-01-22 16:20:35 浏览: 28
Sharedpreferences是Android中一种轻量级的数据存储方式,通常用于存储少量的简单的键值对数据,比如应用程序的设置信息、用户的登录状态等。下面是一个简单的Sharedpreferences例子:
1.在MainActivity.java文件中,定义并初始化Sharedpreferences对象:
```
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor;
sharedPreferences = getSharedPreferences("myPrefs", MODE_PRIVATE);
editor = sharedPreferences.edit();
```
2.使用Sharedpreferences保存数据:
```
editor.putString("name", "John");
editor.putInt("age", 25);
editor.putBoolean("isMarried", false);
editor.apply();
```
3.使用Sharedpreferences读取数据:
```
String name = sharedPreferences.getString("name", "");
int age = sharedPreferences.getInt("age", 0);
boolean isMarried = sharedPreferences.getBoolean("isMarried", false);
```
完整的代码如下:
```
public class MainActivity extends AppCompatActivity {
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化Sharedpreferences对象
sharedPreferences = getSharedPreferences("myPrefs", MODE_PRIVATE);
editor = sharedPreferences.edit();
// 使用Sharedpreferences保存数据
editor.putString("name", "John");
editor.putInt("age", 25);
editor.putBoolean("isMarried", false);
editor.apply();
// 使用Sharedpreferences读取数据
String name = sharedPreferences.getString("name", "");
int age = sharedPreferences.getInt("age", 0);
boolean isMarried = sharedPreferences.getBoolean("isMarried", false);
// 输出读取的数据
Log.d("MainActivity", "name: " + name);
Log.d("MainActivity", "age: " + age);
Log.d("MainActivity", "isMarried: " + isMarried);
}
}
```
注意,需要在apply()方法之后才能保证数据已经成功保存到Sharedpreferences中。如果在apply()方法之前退出应用或者程序崩溃,可能会导致数据未能成功保存。