Android数据存储之SharedPreferences

移动开发 Android
Android SharedPreferences多用于保存软件配置参数,其背后是用xml文件存放数据。本文讲述了数据的存储。

SharedPreferences是以键值对来存储应用程序的配置信息的一种方式,它只能存储基本数据类型。一个程序的配置文件仅可以在本应用程序中使用,或者说只能在同一个包内使用,不能在不同的包之间使用。 实际上SharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下。

以下表格为获取SharedPreferences对象的两个方法:

如果要读取配置文件信息,只需要直接使用SharedPreferences对象的getXXX()方法即可,而如果要写入配置信息,则必须先调用SharedPreferences对象的edit()方法,使其处于可编辑状态,然后再调用putXXX()方法写入配置信息,最后调用commit()方法提交更改后的配置文件。

以下是示例代码: 
 

  1. import android.app.Activity;   
  2. import android.content.SharedPreferences;   
  3. public class Calc extends Activity {   
  4. public static final String PREFS_NAME = "MyPrefsFile";   
  5. . . .   
  6. @Override   
  7. protected void onCreate(Bundle state){   
  8. super.onCreate(state);   
  9. . . .   
  10. //载入配置文件   
  11. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);   
  12. //或者使用 SharedPreferences settings = getPreferences(0);   
  13. boolean silent = settings.getBoolean("silentMode", false);   
  14. setSilent(silent);   
  15. }   
  16. @Override   
  17. protected void onStop(){   
  18. super.onStop();   
  19. //写入配置文件。可以使用SharedPreferences.Editor来辅助解决。   
  20. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);   
  21. SharedPreferences.Editor editor = settings.edit();   
  22. editor.putBoolean("silentMode", mSilentMode);   
  23. editor.commit(); //一定要记得提交   
  24. //或者再简单化一可以这样写   
  25. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);   
  26. setting.edit().putBoolean(“silentMode”,mSilentMode).commit();   
  27. }   

【编辑推荐】

Android中preference的使用

Android 多任务多线程断点下载

Android应用程序开发环境的搭建

在Android应用程序中使用Internet数据

责任编辑:zhaolei 来源: 网络转载
相关推荐

2023-11-26 09:06:46

2022-12-29 08:57:34

Android本地数据存储

2017-01-10 19:21:06

Android APISharedPrefe

2015-07-09 13:47:37

IOSFMDB

2011-03-08 09:58:21

海量数据

2014-08-26 10:04:51

数据存储

2018-10-08 13:52:28

Android数据安全存储安全

2014-08-26 10:51:44

数据存储

2010-01-26 14:43:53

Android数据存储

2013-06-14 15:43:46

Android开发移动开发数据存储

2013-03-27 09:47:01

Android开发SQAndroid SDK

2018-03-20 09:36:57

数据仓库数据存储知识

2018-06-07 16:33:31

大数据冷热数据存储平台

2018-11-22 10:40:40

存储备份数据

2022-06-01 07:33:29

数据存储加密

2018-07-13 09:20:30

SQLite数据库存储

2018-05-25 09:31:00

数据存储高可用

2019-08-27 15:00:09

MySQL数据库存储

2011-08-10 09:50:43

iPhoneArchive数据

2019-06-20 15:25:14

MySQLL数据库存储
点赞
收藏

51CTO技术栈公众号