SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。
保存路径为:data文件夹下对应的包文件下下,类型为xml文件。
SharedPreferences存储比较简单,步骤如下:
(1)获取SharedPreferences对象
(2)利用edit()方法获取Editor对象。
(3)通过Editor对象存储key-value键值对数据。
(4)通过commit()方法提交数据。
例子:
public class MainActivity extends Activity { private EditText nameET; private EditText phoneET; private EditText emailET; private SharedPreferences sp; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); nameET = (EditText) findViewById(R.id.nameET); phoneET = (EditText) findViewById(R.id.phoneET); emailET = (EditText) findViewById(R.id.emailET); //创建一个data.xml 模式为私有,data.xml在rom目录data/data/com.itcast.sp/.../data.xml下 sp = getSharedPreferences("data", MODE_PRIVATE); nameET.setText(sp.getString("name", "")); // 获取数据, 若没有name值,则指定默认值"" phoneET.setText(sp.getString("phone", "")); emailET.setText(sp.getString("email", "")); } //相应按钮,保存到xml文件中 public void onClick(View view) { String name = nameET.getText().toString(); String phone = phoneET.getText().toString(); String email = emailET.getText().toString(); Editor editor = sp.edit(); // 获取编辑器 editor.putString("name", name); // 存储数据(还没进入文件) editor.putString("phone", phone); editor.putString("email", email); editor.commit(); // 提交修改(类似事务) } }
效果如图:
程序关闭之后下次重新启动还是会显示这些数据,比如说编辑短信的时候突然来了个电话,打完电话返回短信界面我们需要继续编辑之前的内容,需要用到此方法。