Android五大存储方式——详解SharedPreferences
来源:互联网 发布:竞彩代购软件 编辑:程序博客网 时间:2024/05/22 07:45
前言:
SharedPreferences作为Android五大存储方式之一,其具有以下特点:
- 使用简单、快捷、方便。
- 只支持存储Java基础数据类型(Boolean、Int、Float、String、Long等)不支持自定义数据类型。
- 本质是一种Map,通过键值对的形式进行数据存储。
- 不支持查找功能。
使用方法:
存储数据:
//两个参数,参数一:理解为文件名 参数二:文件权限模式 PRIVATE可读可写 SharedPreferences sharedPreferences = getSharedPreferences("ZerGen", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("name", "ZerGen"); editor.putInt("age", 21); //提交保存数据 editor.commit();
除了可以使用editor.commit()方法提交数据之外,还可以使用editor.apply()方法。
apply()是为了解决APP线程卡顿导致数据提交失败的情况,使用了apply()方法后,Android系统本身会在一个合适的时间提交保存数据。缺点在于没法确保什么时间提交。
权限模式:
MODE_PRIVATE:默认模式,允许被本应用程序访问,可读可写,写入内容覆盖。MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。MODE_WORLD_READABLE:其他应用程序也拥有读出的权利。MODE_WORLD_WRITEABLE:其他应用程序也拥有写入的权利。
另一种写法:
因为editor.putXXX()方法会返回一个Editor对象,所以Put数据的时候可以使用下面的方法:
editor.putString("name", "ZerGen").putInt("age",21).commit();
错误写法,切记切记!!:
SharedPreferences sharedPreferences = getSharedPreferences("ZerGen", Context.MODE_PRIVATE);sharedPreferences.edit().putString("name", "ZerGen");sharedPreferences.edit().putInt("age", 21);sharedPreferences.edit().commit();
如果按照这样的写法,数据是会存储失败。
因为sharedPreferences.edit()方法每次都会返回一个新的Editor对象,Editor实现类里边会有一个缓冲的Map,提交数据的时候会把这个缓冲的Map复制到内存中的Map,然后内存中的Map把数据存储到XML文件中,每一个新的Editor对象都有一个空的Map,所以最终无法存储成功。
取出数据:
SharedPreferences取出数据使用的是Key-Value的形式。
String name = sharedPreferences.getString("name",null);int age = sharedPreferences.getInt("age",0);Log.e("TAG", "name is :" + name + ",age is:" + age);
运行效果:
E/TAG: name is :ZerGen,age is:21
阅读全文
0 0
- Android五大存储方式——详解SharedPreferences
- Android五大存储方式之三——SharedPreferences
- Android五大存储---SharedPreferences
- android 五种存储方式——SharedPreferences
- Android------五大存储方式详解
- Android 五大存储方式详解
- Android------五大存储方式详解
- Android的五大存储方式:SharedPreferences、内部存储、外部存储、SQLite和网络存储
- 【android】7、五大存储之SharedPreferences
- Android——SharedPreferences存储数据方式
- Android五大存储方式之四——ContentProvider
- Android存储五大方式
- Android存储方式-SharedPreferences
- android学习笔记之——存储方式之SharedPreferences
- 关于Android数据存储方式(一)——SharedPreferences
- Android的数据存储方式之一——SharedPreferences
- 数据存储(五种方式)SharedPreferences存储
- Android中的五大数据存储方式之一——文件存储
- [BZOJ1001] [BJOI2006] 狼抓兔子
- tree
- Python语言发展史
- PAT乙级1061. 判断题(15)
- Leetcode:523. Continuous Subarray Sum
- Android五大存储方式——详解SharedPreferences
- 分布式缓存Redis之事务
- 最新 android studio 基本环境配置
- MVP模式OKhttp请求RecyclerView展示数据
- 数据分配和复制
- Java字符串处理的几个常用方法
- Linux:网络编程
- 数据结构之队列queue
- 编写多线程程序,模拟多个人通过一个山洞。