SharedPrefercences存储
2016-05-16 22:50
417 查看
在上一篇文章当中,我们介绍了android中存储数据的基本方式之一,文件存储!如果对于文件存储数据还不出熟悉,可以看看这篇上一篇文章/article/9545653.html;接下来我们开始介绍另一种存储数据的方式SharedPreferences存储;
SharedPreferences存储方式不同于文件存储,它是使用键值对的方式来进行存储的;也就是说每当我们保存一条数据的时候,需要给这个数据提供一个 相应的键,这方便我们在读取数据的时候能根据这个键把相应的值给读取出来!
name>/files目录下面的;第二个参数是指定操作模式,(MODE_PRIVATE和MODE_MULTI_PROCESS)前者是默认模式,表示只有当前应用程序才可以对程序进行读和写的操作;后者表示多个程序对SharedPreferences文件进行读写,很明显,不安全;所以在Android4.2的版本后,就被废弃不使用了,所以我们使用第一个就OK了;然后通过sharedpreferences对象的edit();方法来获取Editor对象,这样我们就可以使用这个对象来添加数据了,比如我们添加一个字符串类型的,editor.putString();布尔类型就是editor.putBoolean();以此类推,我相信大家都能理解!最后我们一定要调用,editor.commit();方法来提交数据!这样我们就完成了数据的存储操作;
既然数据已经存储好了,那么接下来我们切换到File
Explorer,然后进入到/data/data/<com.wk.dyhsharedpreferencestest>/shared_prefs目录下,就可以看到有一个生成了一个data.xml的文件;如上图所示,把这个文件导出去,用记事本打开,就能看到我们存储进去的数据!如下图所示:
非常明显,SharedPreferences文件使用XML格式来进行保存数据的!来进行管理的,这个不急,后面我们会讲到如果解析XML文件格式的数据!到此为止,我们已经学会了SharedPreferences如何保存数据了!那么既然能通过SharedPreferences把数据写进一个XML文件来进行存储,那么能不能把写进去的数据读取出来呢?怎么读取出来呢?接下来就来讲解如何读取SharedPreferences文件保存的数据;
在布局文件中增加一个Button,用于恢复数据用!
所有前面我们存储的数据,全部取出来了,这时候你想对这些数据怎么处理就怎么处理了!好了,到这里,SharedPreferences存储数据以及读取数据,我们都学完了,还等什么,赶紧动手操作一把!哈哈哈哈
源码下载
SharedPreferences存储方式不同于文件存储,它是使用键值对的方式来进行存储的;也就是说每当我们保存一条数据的时候,需要给这个数据提供一个 相应的键,这方便我们在读取数据的时候能根据这个键把相应的值给读取出来!
<Button android:id="@+id/saveButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="SaveButton"/>在这里我在布局文件中写了一个Button按钮的布局,当我点击按钮的是时候,把数据进行保存,布局非常简单,没什么好解释的!
//保存数据 saveButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { SharedPreferences sharedPreferences = getSharedPreferences("data", Context.MODE_PRIVATE); Editor editor = sharedPreferences.edit(); editor.putString("name","jcak"); editor.putInt("age", 22); editor.putBoolean("married", false); editor.commit(); } });这段代码中,首先我们获取了getSharedPreferences对象,此对象接收两个参数,第一个参数是指定getSharedPreferences文件的名字,如果没有此文件的话,那么便会创建一个,不过getSharedPreferences文件都是放在data/data<package
name>/files目录下面的;第二个参数是指定操作模式,(MODE_PRIVATE和MODE_MULTI_PROCESS)前者是默认模式,表示只有当前应用程序才可以对程序进行读和写的操作;后者表示多个程序对SharedPreferences文件进行读写,很明显,不安全;所以在Android4.2的版本后,就被废弃不使用了,所以我们使用第一个就OK了;然后通过sharedpreferences对象的edit();方法来获取Editor对象,这样我们就可以使用这个对象来添加数据了,比如我们添加一个字符串类型的,editor.putString();布尔类型就是editor.putBoolean();以此类推,我相信大家都能理解!最后我们一定要调用,editor.commit();方法来提交数据!这样我们就完成了数据的存储操作;
既然数据已经存储好了,那么接下来我们切换到File
Explorer,然后进入到/data/data/<com.wk.dyhsharedpreferencestest>/shared_prefs目录下,就可以看到有一个生成了一个data.xml的文件;如上图所示,把这个文件导出去,用记事本打开,就能看到我们存储进去的数据!如下图所示:
非常明显,SharedPreferences文件使用XML格式来进行保存数据的!来进行管理的,这个不急,后面我们会讲到如果解析XML文件格式的数据!到此为止,我们已经学会了SharedPreferences如何保存数据了!那么既然能通过SharedPreferences把数据写进一个XML文件来进行存储,那么能不能把写进去的数据读取出来呢?怎么读取出来呢?接下来就来讲解如何读取SharedPreferences文件保存的数据;
<Button android:id="@+id/restoreButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="RestoreButton"/>
在布局文件中增加一个Button,用于恢复数据用!
//恢复数据 resButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { SharedPreferences spf = getSharedPreferences("data", Context.MODE_PRIVATE); String name = spf.getString("name", ""); int age = spf.getInt("age", 21); boolean married = spf.getBoolean("married", true); Log.d(TAG, name+","+age+","+married); } });同样在这里获取SharedPerferences对象,然后调用它的getString,getIntgetBoorean方法来获取前面我们存储的值,如果没有的话,我们就传入默认值来代替!最后我们通过Log将这些值答应出来,看看我们是不是真的获取到了!
所有前面我们存储的数据,全部取出来了,这时候你想对这些数据怎么处理就怎么处理了!好了,到这里,SharedPreferences存储数据以及读取数据,我们都学完了,还等什么,赶紧动手操作一把!哈哈哈哈
源码下载
相关文章推荐
- 剑指offer02--入栈和出栈
- JSP基本介绍
- jQuery-制作黑白反斗棋页面
- HTML中img标签及相关属性
- 279. Perfect Squares
- iScroll.js 使用方法参考
- 如何创建第一个React Native android应用
- AjaxAnywhere(jsp局部刷新、ajax刷新)
- javascript:js脚本的3中引入方法
- MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM
- javascript基础-黑白反斗棋
- EL表达式/JSP标签和EL表达式
- Codeforces Round #352 (Div. 2)-B. Different is Good(模拟)
- nodejs的一些核心概念
- JavaScript的无阻塞加载
- HTML5框架、背景和实体
- nodejs 小工具——supervisor
- jQuery基础教程-第8章-001Adding new global functions
- CSS基础-引入方法,选择器,继承
- css3动画与js动画的一些理解