[置顶] Android(安卓)入门基础(9) ---SharedPreferences
---SharedPreferences
SharedPreferences类提供了一个通用的框架,它允许你保存和检索持久的键值对原始数据类型。你可以使用SharedPreferences,保存原始数据:: booleans, floats, ints, longs, andstrings.。这些数据将持续整个用户会话(即使您的应用程序被关闭)。
实际上SharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的FileExplorer中的/data/da ta/<packagename>/shares_prefs下。
这类应用主要是系统的配置信息的保存,比如我给程序界面设置了颜色,我想在下一次启动时还是能够保留上次设置的颜色。由于Android系统的界面是采用Activity栈的形式,在系统资源不足时,会收回一些界面,那么,我想有些操作也是需要在不活动时保留下来的,等再次激活时能够显示出来。
可以使用下面方法得到SharedPreferences:
1 getSharedPreferences(String Name, int mode)-使用这个,如果你需要多个喜好文件名称标识,你的第一个参数指定。 2 getPreferences(intmode)-使用这个,如果你只需要一文件。因为只有一个文件,你不用提供名子。以第一种方法为例:存入数据只需四个步骤:
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只有当前程序可访问
获取数据只两个步骤:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, int mode); boolean silent = settings.getBoolean("silentMode", false);
sharepreferences与bundle的区别:
两者都有存储数据的功能,但sharepreferences是用键值对的方式把数据存储在xml文件中,信息存储在本地。而bundle只是把数据暂时的保存在内存中,本质上说不是一种android存储方式。
根据各自本质功能,sharepreferences主要用于存储信息,而bundle主要用于不同activity之间传递数据。
更多相关文章
- Android(安卓)访问HTTP资源
- android 之数据存储(IO)
- json 的解析-使用Android中的JSONObject和JSONArray解析json数据
- Android(安卓)数据库操作:Room
- android scheme
- Android(安卓)Bitmap 保存图片透明背景变黑色背景
- Android发送xml数据给服务器的方法
- Android(安卓)实现Json数据解析,并进行应用!
- android编译系统makefile(Android.mk)写法 (zz)