Android数据存储之SharedPreferences
创始人
2024-07-30 16:21:00
0

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

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...