zoukankan      html  css  js  c++  java
  • 安卓中的几个文件目录函数与路径的对应关系

    getFilesDir();								/data/data/com.example.mypackage/files
    getDir("aaaa", MODE_PRIVATE);				/data/data/com.example.mypackage/app_aaaa
    getCacheDir();								/data/data/com.example.mypackage/cache
    getExternalCacheDir();						/mnt/sdcard/Android/data/com.example.mypackage/cache
    Environment.getExternalStorageDirectory();	/mnt/sdcard
    Environment.getRootDirectory();				/system
    Environment.getDataDirectory();				/data
    Environment.getDownloadCacheDirectory();	/cache
    

      说明:

    com.example.mypackage是包名;

    对于1、2、3、4行代码,如果路径文件夹不存在则自动创建文件夹;

    getDir返回的目录都是加app_前缀的;

    应用卸载时/data/data/com.example.mypackage目录以及他的子目录都会自动删除,但是/mnt/sdcard/Android/data/com.example.mypackage/以及他的子目录是否自动删除与平台有关,只有当系统版本在Android 4.2 (jelly beans API17)以及之后的版本上且Environment.isExternalStorageEmulated()返回true时才会自动删除

    /mnt/sdcard/Android/data/com.example.mypackage/对于任何有WRITE_EXTERNAL_STORAGE权限的应用来说都是可以读写的。

    1、2、3、4行的代码只能创建确定名称或app_前缀的文件夹,这显然是让我们很不爽的,想创建任意名字的文件夹可以使用下面的代码

    new File(getFilesDir().getParent()+"/test").mkdir());					/data/data/com.example.mypackage/test
    new File(getExternalCacheDir().getParent()+"/test").mkdir());			/mnt/sdcard/Android/data/com.example.mypackage/test
    new File(Environment.getExternalStorageDirectory()+"/test").mkdir());	/mnt/sdcard/test
    

      这里的第三行代码在安卓4.0及以上版本需要android.permission.WRITE_EXTERNAL_STORAGE权限

  • 相关阅读:
    poj 2377 Bad Cowtractors (最‘大’生成树)
    POJ 3626 Mud Puddles (BFS)
    hdu 3367 Pseudoforest (krusual)
    hdu 1548 A strange lift (bfs)
    poj 1860 Currency Exchange (Bellman_Ford)
    poj 1005 I Think I Need a Houseboat
    poj 3625 Building Roads (最小生成树)
    zoj 1586 QS Network (最小生成树)
    poj 1679 The Unique MST (最小生成树)
    .NET中书写XML的一种简单方法
  • 原文地址:https://www.cnblogs.com/xxNote/p/5499428.html
Copyright © 2011-2022 走看看