Android SharedPreferencs基本使用

来源:互联网 发布:职场霸凌 知乎 编辑:程序博客网 时间:2024/06/17 15:37
  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是否相同。


0 0