Android SharedPreferencs基本使用

  SharedPreferences是一种轻量级的数据存储方式,它存储的内容是以键值对方式存储的,类似于map,但是它只能保存基本的数据类型(booleans, floats, ints, longs, and strings)。SharedPreferences提供的是一种持久化数据保存数据的方式。
     得到SharedPreferences对象有两种方法:
     1,public abstract  SharedPreferences getSharedPreferences( String name,  int mode)。这种方式根据参数name找到相应Preference file,如果这个这个文件不存在,当你通过SharedPreferences创建Editor对象时(SharedPreferences.edit() ),然后commit,会创建一个文件名为“name”的Preference file。
     2,public  SharedPreferences getPreferences(int mode),如果Activity中只有一个Preferences file,那么可以通过这种方式得到。
     
     在一个应用中,对于特定的Preference file,所有的类共享一个SharedPreferences实例,也就是说,在同一个应用中,通过上面的方法1,传入相同的name,那么得到的是同一个SharedPreferences对象;方法2也一样。

     下面是一个简单的实例
      /**
      * 创建并保存数据到Preference
      */
      private  void  saveDateBySharedPreference(){
          SharedPreferences sharedPreference = getActivity().
                   getSharedPreferences(  SHARED_PREFERENCE_FILEONE , Context. MODE_PRIVATE );
            LOG .print(  "<-------"  + sharedPreference.toString());
          Editor editor = sharedPreference.edit();
          editor.putString(  NAME ,  "July" );
          editor.putInt(  AGE , 24);
          editor.putString(  PROPERTY ,  "passive" );
          editor.commit();
     }
     
      /**
      * 取得Preference中的内容
      */
      private  void  analysisSharedPreference(){
          SharedPreferences sharedPreference = getActivity().
                   getSharedPreferences(  SHARED_PREFERENCE_FILEONE , Context. MODE_PRIVATE );
            LOG .print(  "------->"  + sharedPreference.toString());
          String name = sharedPreference.getString(  NAME ,  "王二"  );
            int  age = sharedPreference.getInt(  AGE , 20);
          String property = sharedPreference.getString( PROPERTY  ,  "lazy"  );
            mSharedInfo .setText(name +  ", " + age +  ", "  + property);
                   
     }

看看保存的数据,保存在/data/data/<package-name>/shares_prefs。


然后看看两个方法里面的sharedPreference是否相同。


猜你喜欢

转载自blog.csdn.net/sd_zhuzhipeng/article/details/44005045