Shared Preferences(三)
来源:互联网 发布:流程图描述算法 编辑:程序博客网 时间:2024/05/29 19:30
getPreferences() - 如果你的Activity仅仅需要一个preferences文件可以使用这个方法。因为你的Activity只要一个preferences文件。 怎样往SharedPreferences中写数据呢?
1、需要获取SharedPreferences的编辑对象即:SharedPreferences.Editor : 使用 edit()。 比如:SharedPreferences.Editor editor = sp1.edit();
2、使用putXXX()方法,向preferences写入数据: 比如:editor.putXXX(“key” , value);
3、向preferences文件中提交数据: 比如:editor.commit(); 如何读取数据呢? getXXX()等方法读取。
比如: boolean silent = settings.getBoolean("silentMode", false);
下面是Google doc提供的一个demo:
public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle state){
super.onCreate(state); . . . // Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean("silentMode", false);
setSilent(silent);
}
@Override
protected void onStop(){
super.onStop(); // We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", mSilentMode); // Commit the edits! editor.commit();
}
}
接下来看Google doc 中关于sharedpreferences的文档。
SharedPreferences 本身是一个接口,用来获取和修改程序的配置数据,位于:android.content.SharedPreferences。程序无法直接创建SharedPreferences实例,只能通过conext的getSharedPreferences(String, int)的获取接口实例。
注意:当前类不支持跨进程调用,将会在之后的版本中支持。 它提供了如下方法来访问perferences数据: boolean contains(String key) :判断当前preferences是否包含key所对应的数据。 abstract SharedPreferences.Editor edit():为preferences创建一个新的Editor,因此你可以修改preferences的数据并且提交给SharedPreferences对象。 abstract Map<String, ?> getAll() :获取preferences中所包含的所有数据。 abstract XXX getXXX(String key, boolean defValue):获取perferences里指定的key对应的value。如果该key不存在,则返回默认defValue .其中XXX是基础数据类型:boolean、float、int、long、String等。 SharedPreferences接口本身并没有提供写入数据的能力,而是通过SharedPreferences的内部接口,SharedPreferences调用edit()方法即可获取它所对应的Editor对象。 Editor提供了如下方法来写向perferences入数据: abstract SharedPreferences.Editor clear() 在Editor中标记出:清除所有preferences保存的数据。(注意此方法并没有实质性的清除,只是在Editor上进行了标记,需要commit后才可以进行真正的清除) abstract boolean commit(): 将Editor对preferences的修改提交给SharedPreferences对象,完成对preferences中数据的修改。 abstract SharedPreferences.Editor putXXX(String key, boolean value) 向preferences中存入key及其所对应的数据 <key-value>。其中xxx可以是boolean、float、int、long、String等各种基本类型的数值。 abstract SharedPreferences.Editor remove(String key): 在Editor中标记出preference中以key以键的键值对应该被移除,而实际的移除动作将会在commit()执行之后才会作用于真正的preferences。 如何读取其它应用的SharedPreferences: 如上所述,如果想读、写其它应用的SharedPreferences,前提是创建该SharedPreferences的应用程序指定相应的访问权限,例如指定了MODE_WORLD_READABLE , 这表明该SharedPreferences可被其它应用程序读取。指定了MODE_WORLD_WRITEABLE,这表明该SharedPreferences可被其它程序写入。 为了读取其它程序对应的Context,可按照如下步骤进行:
1、需要创建其它程序对应的Context,例如如下代码:
Context userCount = createPackageContext(“com.sharedpreferencesdemo.zhanggeng” , Context.CONTEXT_IGNORE_SECURITY);
上面的程序中:com.sharedpreferencesdemo.zhanggeng 就是其他程序的包名——实际上Android系统就是用应用程序的报名来作为程序的标识的。
2、调用其它程序的conext的getSharedPreferences(String name , int mode) 即可获取相应的SharedPreferences对象。
3、调用SharedPreferences的edit()方法获取相应的Editor即可。
- Shared Preferences(三)
- Shared Preferences(一)
- Shared Preferences(二)
- (一)Shared Preferences
- shared preferences
- Shared Preferences
- Shared Preferences
- (一)Shared Preferences(2)
- android数据存储(shared preferences)
- Using Shared Preferences
- 数据存储【Shared Preferences
- Shared Preferences介绍
- Android Shared Preferences 安全性
- Android数据存储(一)Shared Preferences数据存储
- Android数据存储(一)——shared preferences
- android数据存储(一)之Shared Preferences及注意事项
- how to use shared Preferences
- 使用Shared Preferences存储数据
- html frameset边框问题
- 前端页面获取web根路径
- 五子棋c语言
- zoj 3609 Modular Inverse(逆元)
- 使用Ansible loops编写循环
- Shared Preferences(三)
- QT中的复选框改变大小,并改为打勾
- No browser is open都是什么鬼
- 新手基本struts.xml的配置文件详解
- 欢迎使用CSDN-markdown编辑器
- 全国各地运营商都在用哪些家条件接收系统(CA)
- Android gradle 创建自定义BuildTypes
- Air Dragon带你玩转空气大数据
- 微信授权获取用户信息