Android储存目录

2018-01-23  本文已影响0人  waitingal

getDir("test", Context.MODE_PRIVATE);

(/data/data/com.xxx.xxx/app_test)

文件目录方式

getDir("test.txt", Context.MODE_PRIVATE);

(/data/data/com.xxx.xxx/app_test.txt)

文件方式

注意:其中“app_”是为调用时,系统自己加上的。

Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中使用Context.MODE_APPEND

Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件

MODE_WORLD_READABLE:表示当前文件可以被其他应用读取

MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入

getDatabasePath("test.db").getAbsolutePath();

(/data/data/com.xxx.xxx/databases/test.db)

getCacheDir().getAbsolutePath();

(内部缓存目录:/data/data/com.xxx.xxx/cache)

getFilesDir().getAbsolutePath();

(内部文件目录:/data/data/com.xxx.xxx/files)

getPackageCodePath(); 与 getPackageResourcePath();

(/data/app/com.xxx.xxx-2.apk)

getExternalCacheDir().getPath();

(/storage/sdcard0/Android/data/com.xxx.xxx/cache)

getExternalFilesDir(null).getPath();

(/storage/sdcard0/Android/data/com.xxx.xxx/files)

Environment.getDataDirectory().getPath();

(/data)

Environment.getDownloadCacheDirectory().getPath();

(/cache)

Environment.getExternalStoragePublicDirectory(Environment.XXX).getPath();

(Environment.DIRECTORY_DCIM:/storage/sdcard0/DCIM)

(Environment.DIRECTORY_MUSIC:/storage/sdcard0/Music)

(Environment.DIRECTORY_ALARMS:/storage/sdcard0/Alarms)

(Environment.DIRECTORY_DOWNLOADS:/storage/sdcard0/Download)

(Environment.DIRECTORY_MOVIES:/storage/sdcard0/Movies)

(Environment.DIRECTORY_NOTIFICATIONS:/storage/sdcard0/Notifications)

(Environment.DIRECTORY_PICTURES:/storage/sdcard0/Podcasts)

(Environment.DIRECTORY_RINGTONES:/storage/sdcard0/Ringtones)

Environment.getExternalStorageDirectory().getPath();

(/storage/sdcard0)

Environment.getRootDirectory().getPath();

(/system)

最好不要在SD卡根目录上建立文件夹或文件,如需使用外部目录存放数据,使用getExternalCacheDir()或getExternalFilesDir()作为目录

1.某些厂商部分机型(如:华为)即使在AndroidManifest.xml和代码里动态申请读写权限,也      不能直接在SD卡根目录上进行创建/删除 文件夹/文件。

2.避免造成用户SD卡上太多脏数据

上一篇下一篇

猜你喜欢

热点阅读