数据存储(2):SharedPreferences存储

SharedPreferences存储较上一篇文章文件存储更加简单实用,上一篇地址文件存储。简单做一下SharedPreferences的使用笔记。转载请注明出处http://blog.csdn.net/Zou_pl/article/details/75425990
使用SharedPreferences存储数据首先要获取到SharedPreferences对象,然后获取到到SharedPreference.Editor对象,使用editor的put方法,最后使用editor的commit方法提交,则保存数据。读取数据的时候,首先获取到SharedPreferences对象,然后调用SharedPreferences对象的get方法。
SharedPreferences使用的是键值对存储与读取的方法。

获取SharedPreferences的三种方法以及对应使用的例子

1.Context.getSharedPreferences()
2.Activity中getPreferences
3.PreferenceManager类中getDefaultSharedPreferences()

1.Context.getSharedPreferences()

private void contextFunc() {
        /******写*******/
        /**
         * Context下直接获取SharedPreferences对象,getSharedPreferences()
         *  1、第一个参数是文件名,第二个参数是模式类型,以getSharedPreferences("test",MODE_MULTI_PROCESS)为例
         *  则保存的数据文件保存在/data/data/包名/shared_prefs/目录的test.xml文件夹中
         *  MODE_PRIVATE:只有当前应用程序才可以对此文件进行读写
         *  MODE_MULTI_PROCESS:多个进程都可以对此文件进行读写
         *  MODE_APPEND:
         *  MODE_ENABLE_WRITE_AHEAD_LOGGING:
         *  ....
         *  2.获取Editor对象
         *  3、使用Editor对象以键值对的模式保存各种类型数据
         *  4、Editor进行提交
         * */
        SharedPreferences SPf = getSharedPreferences("test",MODE_ENABLE_WRITE_AHEAD_LOGGING);
        SharedPreferences.Editor editor = SPf.edit();
        editor.putString("name","sim");
        editor.putBoolean("female",false);
        editor.putInt("age",15);
        editor.putFloat("height",178.0f);
        editor.commit();

        /******读*******/
        /**
         * 获取SharedPreferences对象
         * 调用get方法
         * */
        SharedPreferences SPf2 = getSharedPreferences("test",MODE_ENABLE_WRITE_AHEAD_LOGGING);
        String name = SPf2.getString("name","default value");
        int age = SPf2.getInt("age",0);
        boolean famale = SPf2.getBoolean("female",false);
    }

2.Activity中getPreferences

private void activityFunc() {
        /******写*******/
        /**
         *  1、Activity中直接获取SharedPreferences对象,getPreferences(int mode)
         *  会使用当前Activity的类名作为SharedPreference的文件名,储存在/data/data/包名/shared_prefs/目录的activity.xml文件夹中
         *  2、获取Editor对象
         *  3、使用Editor对象以键值对的模式保存各种类型数据
         *  4、Editor进行提交
         * */
        SharedPreferences SPf = getPreferences(MODE_PRIVATE);
        SharedPreferences.Editor editor = SPf.edit();
        editor.putString("name","sim");
        editor.putBoolean("female",false);
        editor.putInt("age",15);
        editor.putFloat("height",178.0f);
        editor.commit();

        /******读*******/
        /**
         * 获取SharedPreferences对象
         * 调用get方法
         * */
        SharedPreferences SPf2 = getPreferences(MODE_PRIVATE);//或者getSharedPreferences(MainActivity.class.getSimpleName(),MODE_PRIVATE);(文件名,模式)
        String name = SPf2.getString("name","default value");
        int age = SPf2.getInt("age",0);
        boolean famale = SPf2.getBoolean("female",false);
    }

3.PreferenceManager类中getDefaultSharedPreferences()

private void defFunc() {
        /******写*******/
        /**
         * PreferenceManager类直接获取SharedPreferences对象,getDefaultSharedPreferences()
         *  1、使用当前应用程序的包名作为前缀来命名SharedPreference文件,储存在/data/data/包名/shared_prefs/目录
         *  2.获取Editor对象
         *  3、使用Editor对象以键值对的模式保存各种类型数据
         *  4、Editor进行提交
         * */
        SharedPreferences SPf = PreferenceManager.getDefaultSharedPreferences(this);
        SharedPreferences.Editor editor = SPf.edit();
        editor.putString("name","sim");
        editor.putBoolean("female",false);
        editor.putInt("age",15);
        editor.putFloat("height",178.0f);
        editor.commit();

        /******读*******/
        /**
         * 获取SharedPreferences对象
         * 调用get方法
         * */
        SharedPreferences SPf2 = PreferenceManager.getDefaultSharedPreferences(this);
        String name = SPf2.getString("name","default value");
        int age = SPf2.getInt("age",0);
        boolean famale = SPf2.getBoolean("female",false);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值