一、Android中的数据存储方式
一.文件存储
<1>读取Assets中的文件数据(可以建文件夹)
getResoures().getAssets().open("fileName");
<2>读取raw中的文件数据(只能包含文件)
getResources().openRawResource(R.id.fileName);
<3>读写内部存储、外部存储的文件数据
2.SharedPreference存储数据(存放配置信息)
<1>基本的存储
<2>读写其他应用的SharedPreferences
<3>PreferenceActivity PreferenceFragment
①.新建类继承PreferenceActivity
②.新建布局文件xml/myPreferences.xml
③.通过addPreferencesFromResource指定布局文件
④.得到值:getPreferenceManager().findPreference("");
二、File存储
1.Context提供了一下两个方法,用来打开本应用程序的数据文件夹里的文件
2. openFileInput(String name): 打开应用程序的数据文件夹下的name文件对应的输入流
3. openFileOutput(String name,int mode):打开应用程序的数据文件夹下的name文件对应的输出流
mode的取值。
4.其他方法
getDir(String name,int mode):在应用程序的数据文件夹下获取或创建name对应的子目录
File getFilesDir():获取该应用 程序的数据文件夹的绝对路径
String [] file(String name):删除该应用程序的数据文件夹下的全部文件
deleteFile(String name):删除该应用程序的数据文件夹下的指定文件
注意:应用程序的数据文件默认保存在/data/data/包名/files目录下
三、读写SD卡上的文件
1.调用Environment的getExternalStorageState()方法判断手机是否插入了SD卡,并且应用程序具有读写SD卡的权限
2.调用Environment的getExternalStoragetDirectory()方法来获取外部存储器,即SD卡的目录
3.使用IO流读写文件
4.给应用程序添加权限:读写SD卡的权限
<user-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEM"/>(在SD卡中创建与删除文件的权限)
<user-permission android:name="android.permission.WWRITE_EXTERNAL_STORAGE"/>(向SD卡写入数据的权限)