zoukankan      html  css  js  c++  java
  • android SharedPreferences

    SharedPreferences

        在具体介绍Android的设置界面的实现之前,我们先来介绍一下预备知识,就是Android数据持久化方法中最简单的一种,即使用Preferences的键值对存储方式。这种方式主要用来存储比较简单的一些数据,而且是标准的BooleanIntFloatLongString等类型。

    android.content.SharedPreferences是一个接口,用来获取和修改持久化存储的数据。有三种获取系统中保存的持久化数据的方式:

    1. public SharedPreferences getPreferences (int mode)

        通过Activity对象获取,获取的是本Activity私有的Preference,保存在系统中的xml形式的文件的名称为这个Activity的名字,因此一个Activity只能有一个,属于这个Activity

    2. public SharedPreferences getSharedPreferences (String name, int mode)

        因为Activity继承了ContextWrapper,因此也是通过Activity对象获取,但是属于整个应用程序,可以有多个,以第一参数的name为文件名保存在系统中。

    3. public static SharedPreferences getDefaultSharedPreferences (Context context)

        PreferenceManager的静态函数,保存PreferenceActivity中的设置,属于整个应用程序,但是只有一个,Android会根据包名和PreferenceActivity的布局文件来起一个名字保存。

        通过以上方式取得SharedPreferences后就可以对数据进行读取或者保存了。

        保存方式如下:

    1. String STORE_NAME = "Settings";  
    2. SharedPreferences settings = getSharedPreferences(STORE_NAME, MODE_PRIVATE);  
    3. SharedPreferences.Editor editor = settings.edit();  
    4. editor.putInt("sourceType"0);  
    5.  editor.commit();  

        获得SharedPreferences,如果需要进行保存等修改操作,首先得通过其edit()方法获得SharedPreferences.Editor,然后就可以通过putInt、putString等方法以键值对(key-value)的方式保存数据,或者remove移除某个键(key),及调用clear方法删除所有内容。最后需要调用commit方法是使修改生效。

        读取方式如下:

    1. SharedPreferences settings = getSharedPreferences(STORE_NAME, MODE_PRIVATE);  
    2.  int source = settings.getInt("sorceType"1);  

        读取就更加简单了,只要获得SharedPreferences后,就可以通过getInt、getString等方法获取对应键(key)保存着的数据,如果没有找到key,则返回第二个参数作为默认值。

  • 相关阅读:
    洛谷 1996——约瑟夫问题(线性数据结构)
    洛谷 1219——[USACO 1.5] 八皇后(深度优先搜索)
    洛谷 1162——填涂颜色(广度优先搜索)
    洛谷 1803——凌乱的yy(贪心)
    洛谷 1094——纪念品分组(贪心)
    洛谷 1223——排队接水(贪心)
    洛谷 1028——[USACO 1.3]混合牛奶 Mixing Milk
    洛谷 1181——数列分段Section I(贪心)
    洛谷 1090——合并果子(贪心)
    洛谷 1012——拼数(字符串处理)
  • 原文地址:https://www.cnblogs.com/qiengo/p/2491773.html
Copyright © 2011-2022 走看看