Android 有哪些存储数据的方式?
这道题想考察什么?
- 是否了解Android 有哪些存储数据的方式与真实场景使用,是否熟悉Android 有哪些存储数据的方式在工作中的表现是什么?
考察的知识点
- Android 有哪些存储数据的方式的概念在项目中使用与基本知识
考生应该如何回答
文件存储
默认存储路径:
/data/data//files文件操作模式:
MODE_PRIVATE(默认):覆盖、MODE_APPEND:追加
- 写入文件
- 读取数据
SharedPreferences
默认存储路径:
/data/data//shared_prefs操作模式:
MODE_PRIVATE(默认):只有当前的应用程序才能对文件进行读写、MODE_MULTI_PROCESS:用于多个进程对同一个SharedPreferences进行读写。存储数据格式:
键值对
获取SharedPreferences对象的方法
- Context的getSharedPreferences()方法,参数一是文件名,参数二是操作模式
- Activity的getPreferences()方法,参数为操作模式,使用当前应用程序包名为文件名
- PreferenceManager的getDefaultSharedPreferences()静态方法,接收Context参数,使用当前应用程序包名为文件名
存储数据
- 调用SharedPreferences对象的edit()方法获取一个SharedPreferences.Editor对象
- 向Editor对象中添加数据putBoolean、putString等
- 调用commit()方法提交数据
读取数据
SQLite数据库存储
- integer 整型
- real 浮点型
- text 文本类型
- blob 二进制类型
在MainActivity中
升级数据库
在MainActivity中只需将version改为大于原来版本号即可。
向数据库添加数据
insert()方法,参数一表名,参数二是在未指定添加数据的情况下给某些可为空的列自动赋值为NULL,设置为null即可,参数三是ContentValues对象。MainActivity
更新数据库中的数据
update()方法,参数一是表名,参数二是ContentValues对象,参数三、四是去约束更新某一行或某几行的数据,不指定默认更新所有。MainActivity
从数据库中删除数据
delete()方法,参数一是表名,参数二、三是去约束删除某一行或某几行的数据,不指定默认删除所有。MainActivity
查询数据库中的数据
query()方法,参数一是表名,参数二是指定查询哪几列,默认全部,参数三、四是去约束查询某一行或某几行的数据,不指定默认查询所有,参数五是用于指定需要去group by的列,参数六是对group by的数据进一步的过滤,参数七是查询结果的排序方式MainActivity
使用SQL语句操作数据库
使用事务操作
ContentProvider
ContentProvider主要用于不同的程序之间实现数据共享的功能。
- 访问其他应用程序中的数据
工具类ContentResolver
,提供了一系列方法对数据进行CRUD操作。
ContentResolver的使用方法
1、内容URI
内容URI是由权限和路径组成的,权限是用于区分不同的应用程序,一般是以包名来命名。路径是用于区分同一个应用程序的不同表。
2、使用Uri对象进行数据操作
- 查询
- 插入