偏好设置

原创 2016年05月30日 20:28:49

SharedPreferences(偏好设置)

一、什么是偏好设置

偏好设置的本质,是使用xml文件保存数据。该文件一般保存在data/data/应用程序包名/shared_prefs/文件夹

偏好设置一般用来保存用户信息,用户设置等数据量较小的数据。

SharedPreference提供了一种以键值对的形式保存并读取持久数据。所以仅仅需要像使用Map一样使用偏好设置即可。偏好设置数据是应用程序私有的,仅仅应用程序本身可以访问。


二、如何用SharedPreferences设置保存数据


1.在Android中用SharedPreferences接口的对象,实现偏好设置。使用ContextWrapper类的定义的方法:getSharedPreferences()即可获取SharedPreferences接口的对象。


SharedPreferences sp = getSharedPreferences(name,mode);

String name = "user-name";
int mode = MODE_PRIVATE;

其中第一个参数是文件名,就是最后在data/data....下保存的xml文件的文件名字。例如,user-name.xml

第二个参数是权限


2.需要用Editor的put()方法写入数据。

Editor editor = sp.edit();
editor.putString("user_name", userName);
editor.putInt("user_age", userAge);
editor.putString("user_gender", userGender);


3.调用Editor的commit()方法提交,以完成写入过程。

editor.commit();


三、读取偏好设置

获取SharedPreferences对象之后,直接调用get系列方法即可获取数据

SharedPreferences sp = getSharedPreferences("user-name", MODE_PRIVATE);
String userName = sp.getString("name", null);
String userGender = sp.getString("gender", "男");
int userAge = sp.getInt("age", -1);


--------------------------

偏好设置的数据会以xml的形式,,保存在data/data/应用程序包名/shared_prefs/文件夹下

  <?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
- <map>
  <string name="user_gender">男</string> 
  <string name="user_name">liying</string> 
  <int name="user_age" value="23" /> 
  </map>


注意:

偏好设置是固定保存在那样一个文件夹里的,偏好设置保存数据,对于软件来说是不可靠的,因为当删除的时候,软件不知道。



安卓 偏好设置

1.偏好设置存储相关概述? 偏好设置存储是对用户喜好信息的一种存储,属于内置sdcard 的一种存储方式,是以key/value形式将数据存储到xml文件中 的一种实现方式。 ...
  • cd837694030
  • cd837694030
  • 2016年08月30日 21:32
  • 691

android 开发技巧(4)--偏好设置使用技巧

对于偏好设置,我好像刚开始学安卓的时候有些印象,但是确实没怎么使用过,原因就是这个偏好设置虽然方便,但是只能实现一些简单的界面,一般的设置界面我都是使用自定义的界面来实现 先看一下效果图吧 来...
  • jifashihan
  • jifashihan
  • 2016年02月21日 17:24
  • 839

mac 在偏好设置启动mysql 失败,“Warning:The /usr/local/mysql/data directory is not owned by the 'mysql' or '_my

一、Mac OS X的升级或其他原因可能会导致MySQL启动或开机自动运行时   在MySQL操作面板上会提示“Warning:The /usr/local/mysql/data director...
  • lvsijian8
  • lvsijian8
  • 2017年03月07日 20:52
  • 1124

【Android】 Android存储之 sharedpreferences (用户偏好设置)

在一款软件里,我们经常能使用到的就是用户的偏好设置了。这里提供了如何保存用户对其偏好的设置,该操作的存储位置是:/data/data/share_dprefs 我发现个问题,做android是不是都要...
  • f627422467
  • f627422467
  • 2015年08月19日 17:25
  • 1731

iOS偏好设置的存储注意事项

iOS偏好设置的存储注意事项
  • guoyule2010
  • guoyule2010
  • 2015年03月10日 23:20
  • 526

ubuntu下chrome“系统无法读取您的偏好设置”的解决方法

ubuntu下chrome“系统无法读取您的偏好设置”的解决方法
  • Kim0403
  • Kim0403
  • 2017年08月13日 12:54
  • 684

偏好设置

偏好设置(SharedPreferences)提供了一种以键值对(K-V)的形式保存并读取持久数据的方式; 偏好设置的本质是使用xml文件保存数据,但开发人员无须考虑xml文件的解析问题,仅需像使用...
  • wojiaohuangyu
  • wojiaohuangyu
  • 2015年12月29日 22:24
  • 1481

iOS 偏好设置存储简单用法-数据持久化

在需要数据持久化的时候,使用偏好设置存储是一个方便快捷的方法,偏好设置的实质就是在底层封装了一个字典,生成的是一个plist文件。下面有个简单的例子说明。...
  • qq_31389903
  • qq_31389903
  • 2016年04月29日 09:06
  • 1860

iOS数据持久化 偏好设置

1.偏好设置简介 用NSUserDefaults存储的数据下次程序运行的时候依然存在,那么它把数据存储在什么地方了呢?其实它存储在应用程序内置(沙盒)的一个plist文件里,这个可以根据路径看到...
  • magical_code
  • magical_code
  • 2016年04月09日 13:59
  • 1007

macOS 10.12解决偏好设置没有任何来源选项。

Mac系统从10.12开始,在偏好设置中的“安全性与隐私”中,就没有了允许任何来源这一项。可是macOS上的很多好用的软件收费都特别高,于是很多人就喜欢下载各种破解版的,可以新系统为了安全起见,已经默...
  • wddyzzw
  • wddyzzw
  • 2016年12月26日 10:24
  • 1973
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:偏好设置
举报原因:
原因补充:

(最多只允许输入30个字)