Android简单数据存储类SharedPreferences详解及实例(通过“记住密码”功能学习SharedPreferences) .

 

SharedPreferences是Android中存储简单数据的一个工具类。可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型(boolean、int、float、long和String)存储在应用程序的私有目录下(data/data/包名/shared_prefs/)自己定义的xml文件中。

它提供一种轻量级的数据存储方式,通过eidt()方法来修改里面的内容,通过Commit()方法来提交修改后的内容。

 作用

    主要用于存放软件的配置参数等信息。sharedPreferences用于存取和修改软件配置参数数据的接口,由getSharedPreferences(String, int)函数返回。任何具体的参数,都有一个单独的该类实例向所有客户端共享。修改参数必须通过SharedPreferences.Editor 对象,以确保这些参数在被提交到外存的时候它们的值处于一致的状态和控制之下。该类暂不支持多进程操作,但是以后将提供该功能。

原文:

Interface for accessing and modifying preference data returned by getSharedPreferences(String, int). For any particular set of preferences, there is a single instance of this class that all clients share. Modifications to the preferences must go through an SharedPreferences.Editor object to ensure the preference values remain in a consistent state and control when they are committed to storage.

Note: currently this class does not support use across multiple processes. This will be added later.

 

主要方法

public abstract boolean contains (String key) :检查是否已存在该文件,其中key是xml的文件名。

edit():为preferences创建一个编辑器Editor,通过创建的Editor可以修改preferences里面的数据,但必须执行commit()方法。

getAll():返回preferences里面的多有数据。

getBoolean(String key, boolean defValue):获取Boolean型数据

getFloat(String key, float defValue):获取Float型数据

getInt(String key, int defValue):获取Int型数据

getLong(String key, long defValue):获取Long型数据

getString(String key, String defValue):获取String型数据

registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener):注册一个当preference发生改变时被调用的回调函数。

unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener):删除当前回调函数。

 

重要接口SharedPreferences.Editor

SharedPreferences.Editor 类简介

public abstract SharedPreferences.Editor edit ()

Create a new Editor for these preferences, through which you can make modifications to the data in the preferences and atomically commit those changes back to the SharedPreferences object.

Note that you must call commit() to have any changes you perform in the Editor actually show up in the SharedPreferences.

 

  用于修改SharedPreferences对象的内容,所有更改都是在编辑器所做的批处理,而不是复制回原来的SharedPreferences或持久化存储,直到你调用commit(),才将持久化存储。

  

  重要方法

  clear():清除内容。

  commit():提交修改

  remove(String key):删除preference

 

 //自己的测试代码

public void saveUserInfo(String username, String password){
    SharedPreferences prePerferences = context.getSharedPreferences(PREFS_NAME,   Context.MODE_PRIVATE);
   Editor editor = prePerferences.edit();
  
  editor.putString(USERNAME, username);
  editor.putString(PASSWORD, password);
  
  //提交写入到文件中   如果不提交 数据时在内存中的
  editor.commit();
  
 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值