android简单实例---------SharedPreferences的简单使用与讲解
2016-02-18 18:52
701 查看
来看看SharedPreferences的简单使用,这里要说重要一点,此种方式的存储属于内部存储,存储在手机内存里,内部存储属于应用本身,若此应用被卸载,则通过内部存储,存储的数据都将消失。
-------------------------------------------------------------------------
简单的使用SharedPreferences存储数据:
代码:
这是典型四步,这样就可以通过SharedPreferences存储数据了,getSharedPreferences(MODE)有一个参数的重载,这表明默认使用当前Activity类的名字当作文件名字存储,那么文件存储到哪去了呢?
如图,在手机内部存储里面的/data/data/<应用包名>/shared_prefs文件夹下面,shared_prefs文件夹刚开始没有,存储文件的时候自动生成。我们再导出这个文件看一看:
有没有很熟悉,典型的map结构,键值对, 这是为什么我们在存储的时候,用一系列put函数,和操作map基本一样。
接下来看看如何取出来:
可以看出来,如果是取数据的话就简单多了,获取实例,填入文件名,直接按照key值取就行了。值得注意的是,取值的方法第二个参数是:如果按照key找不到对应的值,将以这个默认值返回。 结果:
OK,综合例子今天就不放了,会这个存和取就够了,一般用在存储软件设置参数,和例如登陆时如果勾选了“记住密码”,可以将用户名和密码存储等待。
-------------------------------------------------------
原创,我在这里说明一下,这里的例子都是非常简单的例子,更适合初学者,只有先学会用,才能研究更深层次的东西,初学者千万不要陷入诸如每个参数到底是什么意思,这里不这样,如果那样会怎么样,这是无穷无尽的问题,非常影响入门,只有用熟悉之后,才更容易的去纠结这些东西,所以我在这里不写这些东西了。只适合初学者看看的例子。。。
-------------------------------------------------------------------------
简单的使用SharedPreferences存储数据:
代码:
//获取SharedPreferences实例(因为是接口,所以不能直接new,系统为我们提供了方法) //String name 保存的文件名 //int mode 操作文件的模式,下面是四种操作模式的详解 //Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND //Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。 //Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。 //MODE_WORLD_READABLE:表示当前文件可以被其他应用读取; //MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。 SharedPreferences sharedPreferences = getSharedPreferences("user_info", Context.MODE_PRIVATE); //获取操作SharedPreferences实例的编辑器(必须通过此种方式添加数据) SharedPreferences.Editor editor = sharedPreferences.edit(); //添加数据 editor.putString("name", "rui"); editor.putBoolean("isMarry", false); editor.putFloat("salary", 18888.88f); editor.putInt("age", 24); editor.putLong("args", 2L); //提交 editor.commit();
这是典型四步,这样就可以通过SharedPreferences存储数据了,getSharedPreferences(MODE)有一个参数的重载,这表明默认使用当前Activity类的名字当作文件名字存储,那么文件存储到哪去了呢?
如图,在手机内部存储里面的/data/data/<应用包名>/shared_prefs文件夹下面,shared_prefs文件夹刚开始没有,存储文件的时候自动生成。我们再导出这个文件看一看:
有没有很熟悉,典型的map结构,键值对, 这是为什么我们在存储的时候,用一系列put函数,和操作map基本一样。
接下来看看如何取出来:
//获取SharedPreference实例 SharedPreferences sharedPreferences = getSharedPreferences("user_info", Context.MODE_PRIVATE); //取出数据(注意这里直接用实例取就行了,不用获取编辑器editor) String name = sharedPreferences.getString("name", "没找到"); boolean isMarray = sharedPreferences.getBoolean("isMarray", false); float salary = sharedPreferences.getFloat("salary", 0.0f); int age = sharedPreferences.getInt("age", -1); long args = sharedPreferences.getLong("args", -1L); //用日志打印出来 Log.i("MainActivity", name+isMarray+salary+age+args);
可以看出来,如果是取数据的话就简单多了,获取实例,填入文件名,直接按照key值取就行了。值得注意的是,取值的方法第二个参数是:如果按照key找不到对应的值,将以这个默认值返回。 结果:
OK,综合例子今天就不放了,会这个存和取就够了,一般用在存储软件设置参数,和例如登陆时如果勾选了“记住密码”,可以将用户名和密码存储等待。
-------------------------------------------------------
原创,我在这里说明一下,这里的例子都是非常简单的例子,更适合初学者,只有先学会用,才能研究更深层次的东西,初学者千万不要陷入诸如每个参数到底是什么意思,这里不这样,如果那样会怎么样,这是无穷无尽的问题,非常影响入门,只有用熟悉之后,才更容易的去纠结这些东西,所以我在这里不写这些东西了。只适合初学者看看的例子。。。
相关文章推荐
- Android属性(property)机制
- android数据存储之SharedPreferences
- Android 比较两个时间段是否有交集或重复
- android 自定义Dialog背景透明及显示位置设置
- Android异步加载器Loader的使用
- [转]Android How to Download and Make Volley.jar
- Android自定义对话框(Dialog)位置,大小
- Android触摸屏事件派发机制一(View篇)
- android studio 中去除应用标题栏
- Android Studio 在导入第三方包之后出现的gradle DSL method not found 问题原因及解决方案
- Android Animation动画
- android 如何优雅地给Activity和Fragement传入参数
- Android中onSharedPreferenceChangeListener类
- 解决android内存泄露
- RxJava Android 新人实践
- Android常用设计模式(二)
- Android Day02 知识点
- android.mk文件解析
- Android屏幕分辨率适配
- android hover监控鼠标移动事件