Android的数据存储之SharedPreferences
来源:互联网 发布:全国地区信息 数据库 编辑:程序博客网 时间:2024/05/06 00:18
所有的应用程序都必然涉及到数据的输入、输出、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的数据存储--SharedPreferences
- Android之SharedPreferences的数据存储
- Android的数据存储之SharedPreferences
- Android中数据的存储之------SharedPreferences存储数据
- Android数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- Android--数据存储之SharedPreferences
- android数据存储之SharedPreferences
- Android之数据存储SharedPreferences
- Android数据存储之SharedPreferences
- android数据存储之--------- SharedPreferences
- Android数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- android数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- Android----数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- 进入保护模式
- 【数据库】数据库设计
- React Native实战(一):配置和起步
- Linux常用命令
- 发送激活邮件
- Android的数据存储之SharedPreferences
- (模板题)sdut 3402 数据结构实验之排序五:归并求逆序数(归并排序)
- python之try-except语句
- AppTheme主题颜色colorAccent,colorPrimary,colorPrimaryDark等
- Android照片墙加强版,使用ViewPager实现画廊效果
- Linux下VI命令
- 【入驻杂谈】Code Changes World.
- 【leetcode】347. Top K Frequent Elements
- Test Design Considerations