- 浏览: 329770 次
- 性别:
- 来自: 深圳
-
文章分类
最新评论
-
crxiang:
写得很好啊,最近正好需要这个,谢谢分享了!
Android中ProgressDialog的简单示例 -
shangs2010:
分析的真仔细,多谢!
SharePreference类似于JavaEE中的session -
guochongcan:
fantaxy025025 写道兄弟,你这个不行的。
只能删 ...
MYSQL用一条SQL语句删除重复记录 -
fantaxy025025:
兄弟,你这个不行的。只能删除 重复个数是2的,如果重复个数大于 ...
MYSQL用一条SQL语句删除重复记录 -
wujiandong:
不错,多写点这方面的东西~~,加油~~,哥们~~
布局学习——妙用TabHost
SharedPreference主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成。 类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问。
例子:
工程1:
- SharedPreferences shp=getSharedPreferences(SharePreference_name, Context.MODE_WORLD_READABLE);
- SharedPreferences.Editor editor = shp.edit();
- editor.putInt("storedInt", 100); // value to store
- editor.commit();
SharedPreferences shp=getSharedPreferences(SharePreference_name, Context.MODE_WORLD_READABLE); SharedPreferences.Editor editor = shp.edit(); editor.putInt("storedInt", 100); // value to store editor.commit();
工程2:
- Context mOtherContex;
- int storedPreference;
- try {
- mOtherContex = this.createPackageContext("com.android.testsharepreference", Context.CONTEXT_IGNORE_SECURITY);
- SharedPreferences preferences = mOtherContex.getSharedPreferences(SharePreference_name,MODE_WORLD_READABLE);
- storedPreference = preferences.getInt("storedInt", 0);
- } catch (NameNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- storedPreference=200;
- }
Context mOtherContex; int storedPreference; try { mOtherContex = this.createPackageContext("com.android.testsharepreference", Context.CONTEXT_IGNORE_SECURITY); SharedPreferences preferences = mOtherContex.getSharedPreferences(SharePreference_name,MODE_WORLD_READABLE); storedPreference = preferences.getInt("storedInt", 0); } catch (NameNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); storedPreference=200; }
解说:工程1创建getSharedPreferences(SharePreference_name, Context.MODE_WORLD_READABLE);第二个参数就可以决定你的SharePreference要不要共享,有三种模式:MODE_PRIVATE ,MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE;工程2 getSharedPreferences是通过工程1的Context来获得工程1的SharedPreference的实例。
========================================================
- <SPAN style="FONT-SIZE: medium">SharedPreferences getPreferences(int mode) 通过Activity可以返回一个SharedPrefenences的实</SPAN>例
SharedPreferences getPreferences(int mode) 通过Activity可以返回一个SharedPrefenences的实例
- <SPAN style="FONT-SIZE: medium">在Context下有这个方法 根据文件名称和mode来实例化SharedPreferences对象
- abstract SharedPreferences
- getSharedPreferences(String name, int mode)
- Retrieve and hold the contents of the preferences file 'name', returning a SharedPreferences through which you can retrieve and modify its values.
- </SPAN>
在Context下有这个方法 根据文件名称和mode来实例化SharedPreferences对象
abstract SharedPreferences
getSharedPreferences(String name, int mode)
Retrieve and hold the contents of the preferences file 'name', returning a SharedPreferences through which you can retrieve and modify its values.
- <SPAN style="FONT-SIZE: small"><STRONG>public interface
- SharedPreferences
- <!-- end header -->
- android.content.SharedPreferences
- Class Overview
- 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.
- See Also</STRONG></SPAN>
- <SPAN style="FONT-SIZE: small"> * getSharedPreferences(String, int)
- SharedPreferences是一个接口,如果想添加和修改Preference data,就要通过getSharedPreferences(String,int)。在一个类里面实例化,就可以在其它地方共享这些数据。
- 目前这个类不支持多进程使用。
- <!-- jd-descr -->
- Summary
- <!-- ======== NESTED CLASS SUMMARY ======== -->
- </SPAN>
- <SPAN style="FONT-SIZE: medium"><STRONG>Nested Classes
- 这两个接口是SharedPreferences的内部类
- interface SharedPreferences.Editor SharedPreferences编辑器
- interface SharedPreferences.OnSharedPreferenceChangeListener 当数据改变的时候调用
- <!-- ========== METHOD SUMMARY =========== -->
- Public Methods
- abstract boolean contains (String key) 数据库里是否包含key的键值
- abstract SharedPreferences.Editor edit () 通过这个方法返回一个SharedPrefenences.Editor实例化对象
- abstract Map <String , ?> getAll () 返回所有的键值对,注意“?”,它代表你存储的数字类型,是泛型的用法
- abstract boolean getBoolean (String key, boolean defValue) 通过key从Preferences获取boolean类型的数据
- abstract float getFloat (String key, float defValue) 通过key从Preferences获取float类型的数据
- abstract int getInt (String key, int defValue) 通过key从Preferences获取int类型的数据
- abstract long getLong (String key, long defValue) 通过key从Preferences获取long类型的数据
- abstract String getString (String key, String defValue) 通过key从Preferences获取String类型的数据
- abstract void registerOnSharedPreferenceChangeListener (SharedPreferences.OnSharedPreferenceChangeListener listener)
- 注册一个监听器。当preferences数据改变的时候调用这个监听器下的方法
- abstract void unregisterOnSharedPreferenceChangeListener (SharedPreferences.OnSharedPreferenceChangeListener listener)
- 注册一个监听器。取消先前注册的回调方法。</STRONG></SPAN>
- <SPAN style="FONT-SIZE: medium">通过上面的editor() 方法就可以实例化SharedPreferences.Editor对象,接着就可以使用下面的一些方法进行存储。
- </SPAN>
- <SPAN style="FONT-SIZE: medium"><STRONG>Public Methods
- abstract SharedPreferences.Editor
- abstract boolean clear () 删除所有值
- commit () 提交你设置的值
- abstract SharedPreferences.Editor putBoolean (String key, boolean value) 设置boolean值存储
- abstract SharedPreferences.Editor putFloat (String key, float value) 设置浮点型数据存储
- abstract SharedPreferences.Editor putInt (String key, int value) 设置整形数据存储
- abstract SharedPreferences.Editor putLong (String key, long value) 设置长整型
- abstract SharedPreferences.Editor putString (String key, String value) 设置字符串数据存储
- abstract SharedPreferences.Editor
- remove (String key) 删除一个</STRONG></SPAN>
public interface SharedPreferences <!-- end header --> android.content.SharedPreferences Class Overview 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. See Also * getSharedPreferences(String, int) SharedPreferences是一个接口,如果想添加和修改Preference data,就要通过getSharedPreferences(String,int)。在一个类里面实例化,就可以在其它地方共享这些数据。 目前这个类不支持多进程使用。 <!-- jd-descr --> Summary <!-- ======== NESTED CLASS SUMMARY ======== --> Nested Classes 这两个接口是SharedPreferences的内部类 interface SharedPreferences.Editor SharedPreferences编辑器 interface SharedPreferences.OnSharedPreferenceChangeListener 当数据改变的时候调用 <!-- ========== METHOD SUMMARY =========== --> Public Methods abstract boolean contains (String key) 数据库里是否包含key的键值 abstract SharedPreferences.Editor edit () 通过这个方法返回一个SharedPrefenences.Editor实例化对象 abstract Map <String , ?> getAll () 返回所有的键值对,注意“?”,它代表你存储的数字类型,是泛型的用法 abstract boolean getBoolean (String key, boolean defValue) 通过key从Preferences获取boolean类型的数据 abstract float getFloat (String key, float defValue) 通过key从Preferences获取float类型的数据 abstract int getInt (String key, int defValue) 通过key从Preferences获取int类型的数据 abstract long getLong (String key, long defValue) 通过key从Preferences获取long类型的数据 abstract String getString (String key, String defValue) 通过key从Preferences获取String类型的数据 abstract void registerOnSharedPreferenceChangeListener (SharedPreferences.OnSharedPreferenceChangeListener listener) 注册一个监听器。当preferences数据改变的时候调用这个监听器下的方法 abstract void unregisterOnSharedPreferenceChangeListener (SharedPreferences.OnSharedPreferenceChangeListener listener) 注册一个监听器。取消先前注册的回调方法。 通过上面的editor() 方法就可以实例化SharedPreferences.Editor对象,接着就可以使用下面的一些方法进行存储。 Public Methods abstract SharedPreferences.Editor abstract boolean clear () 删除所有值 commit () 提交你设置的值 abstract SharedPreferences.Editor putBoolean (String key, boolean value) 设置boolean值存储 abstract SharedPreferences.Editor putFloat (String key, float value) 设置浮点型数据存储 abstract SharedPreferences.Editor putInt (String key, int value) 设置整形数据存储 abstract SharedPreferences.Editor putLong (String key, long value) 设置长整型 abstract SharedPreferences.Editor putString (String key, String value) 设置字符串数据存储 abstract SharedPreferences.Editor remove (String key) 删除一个
SharedPreferences存储类效率分析
SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整形、Int整形、String字符串型的保存,它是什么样的处理方式呢?
SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,android123提示最终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml 处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。
Android数据存取之Preferences
这种方式应该是用起来最简单的Android读写外部数据的方法了。他的用法基本上和 J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单、透明的方式来保存一些用户个性化设置的字体、颜色、位置等参数信息。一般的应用程序都会提供“设置”或者“首选项”的这样的界面,那么这些设置最后就可以通过Preferences来保存,而程序员不需要知道它到底以什么形式保存的,保存在了什么地方。当然,如果你愿意保存其他的东西,也没有什么限制。只是在性能上不知道会有什么问题。
在Android系统中,这些信息以XML文件的形式保存在 /data/data/PACKAGE_NAME /shared_prefs 目录下。
- Examples_06_01.zip (35.5 KB)
- 下载次数: 2
发表评论
-
使用 SharedPreferences
2013-01-31 21:37 1237SharedPreferences是一种轻量级的数据存储 ... -
android:windowSoftInputMode属性详解
2012-11-01 07:36 847android:windowSoftInputMode ac ... -
自定义ListView中的分割线
2012-11-01 07:12 2311ListView中每个Item项之间都有分割线,设置andro ... -
Android中Bitmap和Drawable
2012-10-24 17:54 1008一、相关概念 1、Drawable就是一个可画的对象,其可能 ... -
在EditText/TextView中插入表情图片、样式、下划线等
2012-09-23 20:03 2710EditText: 通常用于显示 ... -
Android开发:在EditText中关闭软键盘
2012-09-23 14:41 18701、EditText有焦点(focusable为true) ... -
Android 字体和颜色
2012-06-23 18:34 996对于能够显示文字的控件(如TextView EditText ... -
解决Eclipse Indigo(3.7)中文字体偏小问题
2012-06-04 20:33 1118===========转============= ... -
Android中Cursor 的一些方法
2012-05-16 17:15 1503close() //关闭游标,释放资源 copyStrin ... -
ContentProvider分析
2012-05-15 22:24 1022红色部分较重要的 private static ... -
Java的log 的几种表示颜色
2012-05-09 16:12 0Log下面的日志颜色 E Error 红 ... -
android单元测试时,异常情况解决记录
2012-04-07 20:26 1564异常内容 java.lang.NoClassDefFo ... -
Android_SDK及ADT升级方法
2012-04-05 10:57 25451本文只讲如何 ... -
android 退出程序 对话框提醒
2012-03-17 20:23 0if (keyCode == KeyEvent.KEYCO ... -
DBA应该具有什么样的素质?——转
2012-03-17 20:18 0问题起源于在写一份材 ... -
抓住移动互联网发展最佳时机,开发最好的移动应用程序,为用户提供最佳的软件服务
2012-03-04 20:03 0抓住移动互联网发展最佳时机,开发最好的移动应用程序,为用户提供 ... -
Android WebView 浏览器
2012-01-01 09:38 4222WebView的使用很方便。在学习WebView之前,我 ... -
android ImageView的scaleType属性
2011-12-27 13:07 1211ImageView:Displays an arbitra ... -
程序实现线性布局相关
2011-12-26 15:42 1059程序实现线性布局相关1、 LinearLayout l ... -
Android中Toast的用法简介
2011-12-24 21:20 1436Toast是Android中用来显示显示信息的一种机制,和Di ...
相关推荐
封装的一些关于sharePreference的方法
在Android系统中,SharePreference采用键值对(key-value pairs)的形式来存储数据,通常是以XML文件的形式存在于设备的沙盒目录中。 使用SharePreference的优点包括其简洁的API接口、易于理解和操作,以及较低的...
在实际应用中,`SharePreference`常用于存储用户设置和轻量级配置,而`File`则用于处理大量数据或多媒体资源。例如,`filesave`可能是用来保存用户上传的文件,`otherAccessToApp`可能代表其他应用访问本应用存储的...
Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/...
在描述中提到的“Sharepreference代码测试”,我们通常关注以下几个方面: 1. **读写操作**: - 测试`edit()`方法创建的`SharedPreferences.Editor`对象,用于添加、修改或删除键值对。 - 检查`putXXX()`方法(如...