关于文件存储
android系统是基于linux的,所以他的文件结构是类似的。
Android支持在SD卡上的应用私有目录,在Froyo版本后,通过getExternalFilesDir()可以获得具体路径。该路径依赖与应用的包名,如果你包为hello.file那么SD开上的应用私有目录为\mnt\sdcard\Android\data\hello.file\files\.如果希望存储在SD卡上的公共目录下,可以通过getExternalStoragePublicDirectory()公共目录的具体路径视需要存储的文件类型而定。
SD上的应用需要的缓存较大,也可以在SD卡上建立缓存目录,在Froyo版本后,通过getExternalCacheDir()可以获取应用在SD卡上的缓存路径。在使用SD卡目录时,需注意SD卡是否挂载,可通过Environment.getExternalStorageState()方法进行判断,如果返回值为Envirnment.MEDIA_MOUNTED表示SD卡处于挂载状态,可以放心使用。
一、存贮模式有
1.Context.MODE_PRIVATE:私有覆盖模式 - rw- rw- ---
只能被当前应用访问,并且如果写入,则覆盖;
2.Context.MODE_APPEND:私有追加模式 - rw- rw- ---
只能被当前应用访问,并且如果写入,则追加;
3.Context,MODE_WORLD_READABLE:公有只读模式 - rw- rw- r--
可以被其他应用读取;
4.Context.MODE_WORLD_WRITEABLE:公有可写模式 - rw- rw- -w-
可以被其他应用写入,但不能读取;
二、 SharedPreferences 存储
该数据存放在\data\data\包.名\shared_prefs文件夹下,文件扩展名为.xml。
数据以这种形式存储:
<map><boolean name="firstFlag" value="true" /></map>
三、getExternalFilesDir()与getExternalStorageDirectory()区别
getExternalFilesDir()
获取应用程序下的存储目录,/data/data/your_package/,随着应用的卸载存储的文件被删除
getExternalStorageDirectory()
获取sd卡根目录,跟应用的是否卸载无关。

浙公网安备 33010602011771号