Android数据访问(三)——SharedPreferences
来源:互联网 发布:手机高考倒计时软件 编辑:程序博客网 时间:2024/05/06 07:22
使用SharedPreferences存取数据
官方文档
简介
SharedPreferences是android.content.SharedPreferences包内的一个类,它主要是用来共享程序数据的。
SharedPreferences是以键值对(key-value)的方式来存储数据,它可以存储boolean, float, int, long, 以及string这些基本的数据类型。
SharedPreferences存储的数据是持久性的,一旦通过其存储数据,数据就一直保留着,即便是你的APP完全停止运行,从内存中完全退出,这些数据也会被保留下来,下一次你再进入APP时,从SharedPreferences中,你仍然可以读出上一次写入的数据。
SharedPreference其实就是以xml的文件存储在Android系统的内部空间(internal storage)中,存储的路径是/data/data/package name/shared_prefs/ *.xml。如果手机有root的话,可以进到这个目录下去看一下存储的内容。
由于是存储在内部存储空间中,SharedPreference文件会随着App的卸载而被删除,当然如果清楚程序的数据,也会清楚,这一点参考Android官网的Saving Data这篇文章。
获取SharedPreferences对象
获取SharedPreferences对象有两种方法可以调用,事实上,在App中,可以使用任意的Context对象的下面两种方法获取到SharedPreferences的对象,不过,调用这两种方法会稍微有些不同。
getSharedPreferences()
这种方法用于APP中有多个SharedPreferences文件,通过名字来获取SharedPreferences对象;getPreferences()
这种方法用于Activity中只有一个SharedPreferences文件时,因为只有一个,所以就不必提供名字。
实际应用时,第一种方法用的会更多。
向SharedPreferences中写数据
向SharedPreferences中写数据需要下面的三个步骤,非常简单,不过,在实际应用时,一不注意就忘了调commit()方法,这样是保存不了数据的。
- 通过edit()方法获取SharedPreferences.Editor对象;
- 调用putXXX()方法,放值,(XXX为基本数据类型);
- 调用commit()方法提交放入的值。
下面的一小段代码显示了SharedPreferences的用法:
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(); }}
- Android数据访问(三)——SharedPreferences
- 传智播客—Android(三) 数据存储之二 SharedPreferences
- Android学习 —— 数据的存储与访问方式二: SharedPreferences(偏好参数保存)
- Android数据篇—SharedPreferences
- 【三】Android 数据存储-SharedPreferences
- Android 数据存储与访问之——SharedPreferences保存用户偏好参数
- Android 数据存储与访问 SharedPreferences
- [Android SQLite]数据存储与访问 - SharedPreferences
- Android数据存储和访问(SharedPreferences存储)
- Android笔记访问SharedPreferences中的数据
- android:数据的存储与访问----Sharedpreferences
- 数据存储(三):SharedPreferences
- Android(三) 数据存储之二 SharedPreferences
- android开发框架(三)数据持久化(2)-SharedPreferences
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences
- Codeforces Round #307 (Div. 2) B. ZgukistringZ (贪心 + 暴力)
- Android Service通信详解
- Android ProgressBar自定义图片进度,自定义渐变色进度条
- /dev/sda2 contains a file system with errors ,check forced
- Android软键盘的显示与隐藏
- Android数据访问(三)——SharedPreferences
- 二元多项式
- 第十五周项目1-用二进制文件处理学生成绩
- ajax重新认识:(2)json数据解析两种方式
- 工作日记——2015年6月16日
- 【JSP/SERVLET】Tomcat内置表单身份验证
- RTMP协议学习
- java中不同的存储区的区别
- 基于opencv读取两个摄像头信息