SharedPreferences的简单用法

来源:互联网 发布:淘宝reebonz海外旗舰店 编辑:程序博客网 时间:2024/06/03 19:08

使用步骤:

1、得到SharedPreferences对象

2、调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象。

3、向SharedPreferences.Editor对象中添加数据。

4、调用commit方法将添加的数据提交。

详细过程:

1、得到SharedPreferences对象

方法1: 
Context.getSharedPreferences(文件名称,操作模式) 
文件名称不存在就会创建一个,操作模式有两种: 
MODE_PRIVATE:默认操作模式,直接在把第二个参数写0就是默认使用这种操作模式,这种模式表示只有当前的应用程序才可以对当前这个SharedPreferences文件进行读写。 
MODE_MULTI_PRIVATE:用于多个进程共同操作一个SharedPreferences文件。

注:MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE这两种模式已经在Android 4.2版本以后废弃了。 
方法2: 
Activity.getSharedPreferences(操作模式) 
使用这个方法会自动将当前活动的类名作为SharedPreferences的文件名 
方法3 
PreferenceManager.getDefaultSharedPreferences(Context) 
使用这个方法会自动使用当前程序的包名作为前缀来命名SharedPreferences文件

2、调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象。

SharedPreferences.Editor editor = getSharedPreferences(“data”,MODE_PRIVATE).edit();

3、向SharedPreferences.Editor对象中添加数据。

editor.putString(“name”,”Lily”); //以键值对形式存储 
editor.putInt(“age”,”20”); //以键值对形式存储 
editor.putBoolean(“married”,false); //以键值对形式存储

4、调用commit方法将添加的数据提交。

editor.commit();

代码示例: 
SharedPreferences pref = MainActivity.this.getSharedPreferences(“data”,MODE_PRIVATE); 
SharedPreferences.Editor editor = pref.edit(); 
editor.putString(“name”,”lily”); 
editor.putString(“age”,”20”); 
editor.putBoolean(“married”,false); 
editor.commit();

如果要读取数据: 
SharedPreferences pref = getSharedPreferences(“data”,MODE_PRIVATE); 
String name = pref.getString(“name”,”“);//第二个参数为默认值 
int age = pref.getInt(“age”,0);//第二个参数为默认值 
boolean married = pref.getBoolean(“married”,false);//第二个参数为默认值

保存对象: 
android使用SharedPreferences保存对象 - 推酷 
http://www.tuicool.com/articles/6nAZrq

保存list: 
可以将list转化为json字符串,然后以string的形式保存,使用的时候先取出这个string再解析json得到list。

SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)。SharedPreferences常用来存储一些轻量级的数据. 

//实例化SharedPreferences对象(第一步) SharedPreferences mySharedPreferences= getSharedPreferences("test", Activity.MODE_PRIVATE); //实例化SharedPreferences.Editor对象(第二步) SharedPreferences.Editor editor = mySharedPreferences.edit(); //用putString的方法保存数据 editor.putString("name", "Karl"); editor.putString("habit", "sleep"); //提交当前数据 editor.commit(); //使用toast信息提示框提示成功写入数据 Toast.makeText(this, "数据成功写入SharedPreferences!" , Toast.LENGTH_LONG).show(); 
执行以上代码,SharedPreferences将会把这些数据保存在test.xml文件中,可以在File Explorer的data/data下导出该文件,并查看。 
那么已经保存好的数据如何读取出来呢。我们来看: 
//同样,在读取SharedPreferences数据前要实例化出一个SharedPreferences对象 SharedPreferencessharedPreferences= getSharedPreferences("test", Activity.MODE_PRIVATE); // 使用getString方法获得value,注意第2个参数是value的默认值 String name =sharedPreferences.getString("name", ""); String habit =sharedPreferences.getString("habit", ""); //使用toast信息提示框显示信息 Toast.makeText(this, "读取数据如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit, Toast.LENGTH_LONG).show(); 
public class Main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onClick_WriteData(View view) { SharedPreferences mySharedPreferences = getSharedPreferences("test", Activity.MODE_PRIVATE); SharedPreferences.Editor editor = mySharedPreferences.edit(); editor.putString("name", "karl"); editor.putString("habit", "sleep"); editor.commit(); Toast.makeText(this, "数据成功写入SharedPreferences!" , Toast.LENGTH_LONG).show(); } public void onClick_ReadData(View view) { SharedPreferences sharedPreferences = getSharedPreferences("test", Activity.MODE_PRIVATE); String name = sharedPreferences.getString("name", ""); String habit = sharedPreferences.getString("habit", ""); Toast.makeText(this, "读取数据如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit, Toast.LENGTH_LONG).show(); } } 





原创粉丝点击