android 数据持久化之二 SharedPreferences 存储

Android 系统提供了一种使用键值对来保存数据,这就是SharedPreferences ,它支持多种不同类型的数据存储,使用SharedPreferences 来进行数据持久化的操作要比使用文件方便的多。

使用SharedPreferences 保存数据

获得SharedPreferences 对象的三种方法:
1,Context 类中 getSharedPreferences()方法,有两个参数,第一个用来指定保存的key名称,第二个是指定操作模式,一般指定MODE_PRIVATE。
2,Activity 类中的getPreferences() 方法
它和Context 的方法很类似,不过它只接受一个操作模式参数,这个方法会自动将当前活动的类名作为SharedPreferences 的文件名。
3,PreferencesManager 类中getDefaultSharedPreferences() 方法
这是一个静态方法,它接收一个Context参数,并自动使用当前应用程序的包名作为前缀来命名SharedPreferences 文件,得到了SharedPreferences 对象之后,就可以存储数据了。分为以下三个步骤:
(1)调用SharedPreferences 对象的edit() 方法来获取一个SharedPreferences.Editor对象。

(2)向SharedPreferences.Editor 对象中添加数据,比如添加一个布尔型数据就是使用putBoolean() 方法,诸如以此类推。

(3)调用apply() 提交数据。

保存数据:

 //context getSharedPreferences
                SharedPreferences sharedPreferences = getSharedPreferences("data",MODE_PRIVATE);
                SharedPreferences.Editor edit = sharedPreferences.edit();
                edit.putString("name","黄飞鸿");
                edit.putInt("age",32);
                edit.apply();

获取数据:

private String getSpf()
    {
        SharedPreferences sharedPreferences = getSharedPreferences("data",MODE_PRIVATE);
        return "name=="+sharedPreferences.getString("name","")+":::age==="+sharedPreferences.getInt("age",0);
    }

使用AndroidUtilCode

AndroidUtilCode

这里面有你需要的工具类,非常好用。
体验下 SPUtils:
保存数据:

  SPUtils.getInstance("data02").put("name","黄飞");

是不是很简单。

获取数据:

   SPUtils.getInstance("data02").getString("name");

工具类会简化你很多的操作,建议使用。

你可能感兴趣的:(android 数据持久化之二 SharedPreferences 存储)