---SharedPreferences
SharedPreferences类提供了一个通用的框架,它允许你保存和检索持久的键值对原始数据类型。你可以使用SharedPreferences,保存原始数据:: booleans, floats, ints, longs, andstrings.。这些数据将持续整个用户会话(即使您的应用程序被关闭)。
实际上SharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的FileExplorer中的/data/da ta/<packagename>/shares_prefs下。
这类应用主要是系统的配置信息的保存,比如我给程序界面设置了颜色,我想在下一次启动时还是能够保留上次设置的颜色。由于Android系统的界面是采用Activity栈的形式,在系统资源不足时,会收回一些界面,那么,我想有些操作也是需要在不活动时保留下来的,等再次激活时能够显示出来。
可以使用下面方法得到SharedPreferences:
以第一种方法为例:存入数据只需四个步骤:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, int Mode);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode",0);
editor.commit()
Mode有三种形式:
mode为操作模式,默认的模式为0或MODE_PRIVATE,还可以使用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。 *Context.MODE_READABLE,其他应用程序可读
*Context.MODE_WRITEABLE,其他应用程序可写权限
*Context.MODE_PRIVATE只有当前程序可访问
获取数据只两个步骤:
sharepreferences与bundle的区别:
两者都有存储数据的功能,但sharepreferences是用键值对的方式把数据存储在xml文件中,信息存储在本地。而bundle只是把数据暂时的保存在内存中,本质上说不是一种android存储方式。
根据各自本质功能,sharepreferences主要用于存储信息,而bundle主要用于不同activity之间传递数据。