首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

SharedPreferences 的用法(1)

2012-07-18 
SharedPreferences 的用法(一)SharedPreferences存储类效率分析SharedPreferences是Android平台上一个轻量

SharedPreferences 的用法(一)

SharedPreferences存储类效率分析

SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存,它是什么样的处理方式呢?

? SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,android123提示最 终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml 处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。

--------------------------------------------------

SharedPreferences 的用法

2个activity 之间的数据传递除了可以他通过intent来传递,还可以使用SharedPreferences来共享数据的方式

SharedPreferences 用法很简单.

在A中

设置

Java代码??SharedPreferences 的用法(1)
  1. Editor?sharedata?=?getSharedPreferences("data",?0).edit();??
  2. ???sharedata.putString("item","hello?getSharedPreferences");??
  3. ???sharedata.commit();??
?

B中获取

Java代码??SharedPreferences 的用法(1)
  1. SharedPreferences?sharedata?=?getSharedPreferences("data",?0);??
  2. String?data?=?sharedata.getString("item",?null);??
  3. Log.v("cola","data="+data);??
?

Android数据存取之PreferencesJava代码??SharedPreferences 的用法(1)
  1. String?PREFS_NAME?=?"Note.sample.roiding.com";???
  2. ??
  3. SharedPreferences?settings?=?getSharedPreferences(PREFS_NAME,?0);???
  4. ??
  5. boolean?silent?=?settings.getBoolean("silentMode",?false);???
  6. ??
  7. String?hello?=?settings.getString("hello",?"Hi");????
?
Xml代码??SharedPreferences 的用法(1)
  1. <manifest?xmlns:android="http://schemas.android.com/apk/res/android"???
  2. package="com.roiding.sample.note"???
  3. android:versionCode="1"???
  4. android:versionName="1.0.0">????
?
Java代码??SharedPreferences 的用法(1)
  1. String?PREFS_NAME?=?"Note.sample.roiding.com";???
  2. SharedPreferences?settings?=?getSharedPreferences(PREFS_NAME,?0);???
  3. SharedPreferences.Editor?editor?=?settings.edit();???
  4. editor.putBoolean("silentMode",?true);???
  5. editor.putString("hello",?"Hello~");???
  6. editor.commit();???
?
String PREFS_NAME = "Note.sample.roiding.com";SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);SharedPreferences.Editor editor = settings.edit();editor.putBoolean("silentMode", true);editor.putString("hello", "Hello~");editor.commit();

有了上面数据读取的代码,这里面的就容易理解了,只是别忘了最后的commit();


注意:访问接口和优先修改数据,并由getSharedPreferences(String,int)返回数据,为了统一设置参数,有一个单例类供所有的客户 端共享.修改参数必须通过一个SharedPreferences.Editor对象,在存储他们时,以确保参数值有统一的状态和控制
目前此类不支持多线程,

?

热点排行