在Android中有四种存储数据的方式:SharedPreferences、文件存储(内部存储、外部存储)、数据库存储、数据共享(Content Provider)
SharedPreferences:
是Android提供的,用来以最简单的方式对数据进行永久保存的方法。SharePreferences存储的数据是以xml文件的格式进行存储的,这个文件的位置在Android手机系统的data目录下data子目录下应用程序包名下shared_prefs目录。
使用SharePreferences存储数据步骤:
首先要获取SharePreferences对象,可以通过getSharePreferences()和getPreferences()俩种方法获取。getSharePreferences(String name,int mode)方法第一个参数是用来指定存储文件的名称(不包括拓展名),第二个参数是用来指定访问的权限(通过Android提供的常量来指定)。getPreferences(int mode)这个方法只有一个参数就是用来指定访问权限的。
然后获取SharePreferences的子对象SharePreferences.Editor。可以通过SharePreferences对象的edit()方法实现。
向这个Editor对象添加数据。使用Editor提供的添加数据的方法。(数据都是Java基本类型数据,所以提供的方法为put+数据类型(首字母大写))
最后通过Editor对象的commit()方法来提交数据。
使用SharePreferences读取数据步骤:
首先同样要先获取SharePreferences对象,获取步骤与上述一样。
然后使用SharePreferences类提供的get+基本数据类型(首字母大写)方法来获取数据。
文件存储(内部存储):
文件存储:通过Java的IO流来读取磁盘上的文件。(I:input输入流、O:output输出流)
输入流:数据从数据文件流向APP。通过openFileInput()方法获取输入流。
输出流:数据从APP存储到数据文件。通过openFileOutput()方法获取输出流。
内部存储文件位于Android手机系统的data目录下data子目录下应用程序包名下files目录。
内部存储特点:默认情况下只能被创建它的应用访问到,当这个应用卸载后,内部存储中的文件也被删除,一旦内部存储空间耗尽,手机也就无法使用。
保存信息:
//声明文件输出流
FileOutputStream fos = null;
//获取输入的信息,这里自己定义了信息
String text = "aaaa";
try{
//获取文件输出流对象
fos = openFileOutput("文件名",MODE_PRIVATE);
//通过fos的write方法保存信息,参数是一个字节数组
fos.write(text.getBytes());
//清除缓存
fos.flush();
}catch(FileNotFoundException e