数据存储(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);
    }
    原文作者:zou_pl
    原文地址: https://blog.csdn.net/zou_pl/article/details/75425990
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞