android 数据存储操作之 SharedPreferences
android的数据存储方式有
1.SharedPreferences
2.文件存储
3.SQLite存储
4.内容提供器(Content provider)
5.网络
1.SharedPreferences
是android用来提供用来存储简单的配置信息的一种方式。是一种key/value关系的数据类型,数据保存在一个xml文件中
首先需要创建一个SharedPreferences对象
SharedPreferences s=getSharedPreferences("filename", 0);
其中 第一个参数为保存的文件名,在FileExplorer中/data/data/包名/shared_prefs下可以看到对应的文件
读文件 :
s.getString("name", "")
第一个参数为key 第二个为默认值;
当然还有对应的不同的获取值的方式
写文件:
s.edit()
.putString("name", edit_name.getText().toString())
.commit();
s.edit()表示进入编辑状态
putString()压入值
commit()提交内容
同样put也有压入不同值的方式:
全部代码:
public class main extends Activity { EditText edit_name; Button but_sub; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); edit_name=(EditText)this.findViewById(R.id.edit_name); //获取一个SharedPreferences对象 SharedPreferences s=getSharedPreferences("filename", 0); edit_name.setText(s.getString("name", "")); but_sub=(Button)this.findViewById(R.id.but_sub); but_sub.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub SharedPreferences s=getSharedPreferences("filename", 0); s.edit() .putString("name", edit_name.getText().toString()) .commit(); } }); } }
Preferences只能在同一包中使用,不能在不同的包使用,保存的数据以健值的方式明文保存,适合存储简单数据类型。