内容正文:
第9章 Android数据存储与IO
使用SharedPreferences
File存储
SQLite数据库
手势
掌握SharedPreferences的概念与使用
掌握Android的手势支持
掌握Android文件的I/O
掌握Android中的SQLite数据库
学 习 目 标
LEARNING OBJECTIVES
初心至善 匠心育人
9.1
使用SharedPreferences
9.1.1
SharedPreferences简介
9.1.2
SP的存储位置和格式
目录
Contents
初心至善 匠心育人
9.1 使用SharedPreferences
在一些应用程序中,有些数据需要在应用程序启动时就需要获取到,比如各种配置信息。通常这些数据都是通过SharedPreferences保存的。
初心至善 匠心育人
9.1 使用SharedPreferences
9.1.1 SharedPreferences简介
SharedPreferences保存的数据主要是简单类型的key-value键值对。SharedPreferences是一个接口,所以程序无法直接创建SharedPreferences对象,只能通过Context提供的getSharedPreferences(String name, int mode)方法来获取SharedPreferences实例。
SharedPreferences并没有提供写入数据的能力,而是通过其内部接口首先获取到Editor对象,通过Editor提供的方法向SharedPreferences写入数据。Editor提供的方法如表所示。
初心至善 匠心育人
9.1 使用SharedPreferences
9.1.1 SharedPreferences简介
SharedPreferences接口主要负责读取应用程序中的Preference数据,提供了如表所示方法访问key-value键值对。
下面介绍SharedPreferences(以下简称SP)的简单使用。
初心至善 匠心育人
9.1 使用SharedPreferences
9.1.2 SP的存储位置和格式
9.1.1节提到获取SP对象是通过Context提供的getSharedPreferences(String name, int mode)方法来获取,该方法中第一个参数设置保存的XML文件名,该文件用于SharedPreferences数据,第二个参数支持如表所示的几个值。
SharedPreferences数据是以key-value键值对的形式保存的。
SharedPreferences数据总是保存在/data/data/<package name>/shared_prefs目录下,SharedPreferences数据总是以XML格式保存,根元素是<map…/>元素,该元素中每个子元素代表一个key-value对,当value是整数类型时,使用<int…/>子元素;当value是字符串类型时,使用<string…/>子元素。
初心至善 匠心育人
9.2
File存储
9.2.1
打开应用中数据文件的IO流
9.2.2
读写SD卡上的文件
目录
Contents
初心至善 匠心育人
9.2 File存储
与Java中I/O流类似,Android同样支持用这种方式访问手机存储器上的文件。
初心至善 匠心育人
9.2 File存储
9.2.1 打开应用中数据文件的I/O流
Context中提供了如下两个方法来打开应用程序的数据文件夹中文件I/O流。
FileInputStream openFileInput(String name):打开应用程序中数据文件夹下name文件对应的输入流。
FileOutputStream openFileOutput(String name, int mode):打开应用程序中数据文件夹下name文件对应的输出流。
在openFileOutput(String name, int mode)方法中,mode参数是指打开文件的模式,支持的模式值如表所示。
初心至善 匠心育人
9.2 File存储
9.2.1 打开应用中数据文件的I/O流
Android中还提供了访问应用程序的数据文件夹方法,如表所示。
初心至善 匠心育人
9.2 File存储
9.2.2 读写SD卡上的文件
9.2.1节内容讲解了如何打开应用程序中数据文件夹中的文件,考虑到手机内置的存储空间受限,应用程序中的大文件数据一般是在SD卡上完成读写操作的。在SD卡上读写文件的步骤如下:
(1)调用Environment的getExternalStorageState()方法判断手机是否插入SD卡,并且该应用程序是否具有读写