Android的数据存储之SharedPreferences
2016-07-24 20:49
330 查看
所有的应用程序都必然涉及到数据的输入、输出、android应用也不例外,应用程序的参数设置、运行状态数据只有保存到外部存储器上,系统在关机之后数据不会丢失。
在Android中一共提供了四种数据存储的方式,但是由于存储的这些数据都是其应用程序的私有数据,所以如果需要在其他应用程序中使用这些数据,就要使用Android提供的ContentProviders
Android提供的五种数据存储方式如下:
SharedPreferences:它是一个轻量级的键值(Key-Values)存储机制,只可以存储基本数据类型,主要是针对系统配置信息的保存
Files:Android使用的是基于Linux的文件系统,程序开发人员可以建立和访问程序自身的私有文件,也可以访问保存在资源目录中的原始文件和XML文件,还可以在SD卡等外部存储设置中保存文件
SQLine:Android提供的标准数据,支持SQL语句,可以用来存储大量的数据
ContentProvider:主要用于在应用程序间的数据共享和交换。
NetWork:通过网络存储和获得数据
本博客主要讲解SharedPreferences的详细用法
SharedPreferences是Android平台一个轻量级的存储类,是基于XML文件来存储Key-Values键值对数据,通常用来存储一些简单的配置信息,其存储位置在/data/data/<包名>/shared_prefs目录下。主要是保存一些常用的配置,如窗口状态,一般在Activity中重载窗口状态onSavelnstance State保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整型,int整形,String字符串型的保存。
SharedPreferences是一个接口,程序无法直接创建SharedPreferences实例,只能通过Context.getSharedPreferences(String name,int mode)方法来获取SharedPreferences实例该方法的第一个参数指定XML文件的名字,第二个参数支持如下几个值。
Context.MODE_PRIVATE:指定该SharedPreferences数据只能被本应用程序读写。、
Context.MODE_WORLD_READABLE指定该SharedPreferences数据能被其他应用程序读
Context.MODE_WORLD_WRITEABLE指定该SharedPreferences数据能被其他应用程序写
在Activity中提供了如下方法可以创建一个SharedPreferences,默认名为当前的activity的类名
public SharedPreferences getSharedPreferences(int mode){};
也可以使用PreferenceManager中提供的gatDeferenceSharedPreferences来创建一个SharedPreferences 默认为项目的包名其实底层也是调用了getSharedPreferences(String name,int mode)来创建的SharedPreferences
public static SharedPreferences getDeferenceSharedPreferences(Context context){};
SharedPreferences接口主要负责读取应用程序的Preferences数据,它提供了如下常用的方法来访问SharedPreferences中的Key-Values
boolean conteins(String Key)来判断SharedPreferences是否包含Key的数据
Map<String,?> getAll();获取SharedPreferences中全部的key-values
xxx getXxx(String key,xxx defValues);获取SharedPreferences中指定key的values,如果该key不存在,返回默认值defValue。其中xxx可以是boolean,float,int,long,String
SharedPreferences.Editoredit();返回一个Editor用于操作SharedPreferences。
SharedPreferences对象的本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。Editor提供了如下方法向SharedPreferences写入数据
实现SharedPreferences存储的步骤
1 根据Context获取SharedPreferences对象
2 利用edit()方法获取Editor对象
3 通过Editor对象存储key-values键值对数据
4 通过commit()方法提交数据
SharedPreferences sp = getContext.getSharedPreferences("Demo",Context.MODE_PRIVATE);
Editor editor =sp.edit();
editor.putString("name","张三");
editor.putBoolent("married",true);
editor.commit();
在Android中一共提供了四种数据存储的方式,但是由于存储的这些数据都是其应用程序的私有数据,所以如果需要在其他应用程序中使用这些数据,就要使用Android提供的ContentProviders
Android提供的五种数据存储方式如下:
SharedPreferences:它是一个轻量级的键值(Key-Values)存储机制,只可以存储基本数据类型,主要是针对系统配置信息的保存
Files:Android使用的是基于Linux的文件系统,程序开发人员可以建立和访问程序自身的私有文件,也可以访问保存在资源目录中的原始文件和XML文件,还可以在SD卡等外部存储设置中保存文件
SQLine:Android提供的标准数据,支持SQL语句,可以用来存储大量的数据
ContentProvider:主要用于在应用程序间的数据共享和交换。
NetWork:通过网络存储和获得数据
本博客主要讲解SharedPreferences的详细用法
SharedPreferences是Android平台一个轻量级的存储类,是基于XML文件来存储Key-Values键值对数据,通常用来存储一些简单的配置信息,其存储位置在/data/data/<包名>/shared_prefs目录下。主要是保存一些常用的配置,如窗口状态,一般在Activity中重载窗口状态onSavelnstance State保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整型,int整形,String字符串型的保存。
SharedPreferences是一个接口,程序无法直接创建SharedPreferences实例,只能通过Context.getSharedPreferences(String name,int mode)方法来获取SharedPreferences实例该方法的第一个参数指定XML文件的名字,第二个参数支持如下几个值。
Context.MODE_PRIVATE:指定该SharedPreferences数据只能被本应用程序读写。、
Context.MODE_WORLD_READABLE指定该SharedPreferences数据能被其他应用程序读
Context.MODE_WORLD_WRITEABLE指定该SharedPreferences数据能被其他应用程序写
在Activity中提供了如下方法可以创建一个SharedPreferences,默认名为当前的activity的类名
public SharedPreferences getSharedPreferences(int mode){};
也可以使用PreferenceManager中提供的gatDeferenceSharedPreferences来创建一个SharedPreferences 默认为项目的包名其实底层也是调用了getSharedPreferences(String name,int mode)来创建的SharedPreferences
public static SharedPreferences getDeferenceSharedPreferences(Context context){};
SharedPreferences接口主要负责读取应用程序的Preferences数据,它提供了如下常用的方法来访问SharedPreferences中的Key-Values
boolean conteins(String Key)来判断SharedPreferences是否包含Key的数据
Map<String,?> getAll();获取SharedPreferences中全部的key-values
xxx getXxx(String key,xxx defValues);获取SharedPreferences中指定key的values,如果该key不存在,返回默认值defValue。其中xxx可以是boolean,float,int,long,String
SharedPreferences.Editoredit();返回一个Editor用于操作SharedPreferences。
SharedPreferences对象的本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。Editor提供了如下方法向SharedPreferences写入数据
实现SharedPreferences存储的步骤
1 根据Context获取SharedPreferences对象
2 利用edit()方法获取Editor对象
3 通过Editor对象存储key-values键值对数据
4 通过commit()方法提交数据
SharedPreferences sp = getContext.getSharedPreferences("Demo",Context.MODE_PRIVATE);
Editor editor =sp.edit();
editor.putString("name","张三");
editor.putBoolent("married",true);
editor.commit();
相关文章推荐
- 适配器模式
- Android Studio 导入External Libraries
- Android 之摇一摇录音(加速度传感器)
- Android View深入学习——实现QQ滑动显示隐藏按钮ListView
- android用户权限获取
- Android LayoutInflater原理分析,带你一步步深入了解View
- java/android 设计模式学习笔记(15)---责任链模式
- android按钮图片和文本居中的代码-你躺枪了吗
- Android开发之Tween(补间动画)完全解析(下)——代码实现
- 精彩案例-悬浮在桌面上的照相机
- android自定义AlertDialog背景、背景边框消除、自定义背景按钮监听事件
- Android常用程序总结-----/*自己编写*/
- 从非正规格式的输入数得到正规输入格式
- 浅谈android中的Service
- Android开发学习笔记-下拉刷新的实现
- Android之Gallery的使用
- 7种形式的Android Dialog使用举例
- Android tips(八)-->Android Studio打包apk,aar,jar包
- Android 仿美团网,大众点评购买框悬浮效果之修改版
- Android多点触摸交互处理