数据存储之SharePreference

翻译 2012年12月31日 10:30:34

SharePreference

这个类可以用来保存一些应用程序要的配置或简单的数据,对于大量数据可能力有不逮,类似于WIN下面的ini文件。

数据会被保存在/data/data/PACKAGE_NAME /shared_prefs 。

对象的创建:

 getSharedPreferences(String filename, int mode);

公共函数:

abstract boolean  contains(String key)   检查文件中是否包含这个key

abstract SharedPreferences.Editor  edit()  创建一个Editor对象,通过这个对象可以改变数据,注意的是数据被修改后需要使用函数commint()进行提交。

abstract Map<String, ?>  getAll() 获取文件中所有的数据。

abstract boolean  getBoolean(String key, boolean defValue) 获取一个boolean类型的数据,下面的几个函数非常类似。

abstract float  getFloat(String key, float defValue) 

abstract int  getInt(String key, int defValue) 

abstract long  getLong(String key, long defValue) 

abstract String  getString(String key, String defValue) 

abstract Set<String>  getStringSet(String key, Set<String> defValues) 

abstract void  registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener) 注册一个回调函数,当preference被修改时调用。

abstract void  unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener) 

一个简单的例子:

SharedPreferences sh=getSharedPreferences("data", 0);

SharedPreferences.Editor editor=sh.edit();//创建一个editor对象,要注意。

editor.putString("key1", "test1..");

editor.putString("key2", "test2..");

editor.commit();

System.out.println(sh.getString("key1", "null")+"---"+sh.getString("key2", "null"));


如果使用:

sh.edit().putString("key1", "test1..");

sh.edit().commit();

就会发现没有保存任何内容,为什么呢? 因为下面那个sh.edit().commit();实际上创建了一个新的edit并提交了,前面那个edit并没有提交,内容当然没有保存了

SharePreference的存储和取值以及清除值

SharePreference的存储和取值以及清除值 [摘要:SharePreference首要用于保管一些数据,比方用户登录后的user_id,user_mobile,如许就能够做主动登录了,...
  • qq_35114086
  • qq_35114086
  • 2016-08-31 15:48:05
  • 11394

android中SharePreference的使用

前段时间项目中用到了进程间的通信,用到了之前的SharePreference结果会导致获取脏数据的问题,因此觉得有必要写下SharePreference的使用。前言因为SharedPreference...
  • u012233285
  • u012233285
  • 2016-11-03 11:28:35
  • 1558

安卓中sharepreference总结

一、概述         SharePreferences是用来存储一些简单配置信息的一种机制,使用Map数据结构来存储数据,以键值对的方式存储,采用了XML格式将数据存储到设备中。例如保存登录用户的...
  • suofeng1234
  • suofeng1234
  • 2016-06-24 13:54:01
  • 4790

SharePreference存储数据

SharePreferenceAndroid中的5种数据存储方式数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:1 使用SharedPreferenc...
  • qq_22654613
  • qq_22654613
  • 2016-07-09 22:06:18
  • 1884

Android--sharepreference总结

SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。 SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/...
  • wulianghuan
  • wulianghuan
  • 2013-01-14 15:22:08
  • 99358

SharePreference封装成工具类

Android开发中经常需要保存一些用户配置信息,一般都会保存在SharePreference当中。 但是每次都用getSharedPreferences太麻烦了。 我在项目中对Share...
  • adojayfan
  • adojayfan
  • 2016-10-30 19:56:06
  • 2340

Android应用Preference相关及源码浅析(SharePreferences篇)

1 前言在我们开发Android过程中数据的存储会有很多种解决方案,譬如常见的文件存储、数据库存储、网络云存储等,但是Android系统为咱们提供了更加方便的一种数据存储方式,那就是SharePref...
  • yanbober
  • yanbober
  • 2015-08-24 09:17:19
  • 16495

SharePreference的使用

SharePreference是一种轻量级的数据存储方式。内部实现是基于XML的Key-Value方式完成的。通常用来存储程序的配置信息。 今天写了一个小Demo,用SharePreference来...
  • sinat_22013331
  • sinat_22013331
  • 2015-07-20 11:22:21
  • 997

SharePreference技巧之保存一个对象

在Android中我们经常需要持久化保存数据,这时可以使用文件,SharePreference,以及SQLite等。如果我想保存一个对象呢?有些人会立马想到用orm框架,但是我可能不想依赖这个框架。实...
  • leandom
  • leandom
  • 2017-08-22 14:57:22
  • 874

android sharepreference全解

1 前言 在我们开发Android过程中数据的存储会有很多种解决方案,譬如常见的文件存储、数据库存储、网络云存储等,但是android系统为咱们提供了更加方便的一种数据存储方式,那就是SharePr...
  • feelinghappy
  • feelinghappy
  • 2017-08-09 11:05:50
  • 553
收藏助手
不良信息举报
您举报文章:数据存储之SharePreference
举报原因:
原因补充:

(最多只允许输入30个字)