`
javaz
  • 浏览: 33360 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Environment 外部存储翻译-api文档

 
阅读更多

原文地址:

http://developer.android.com/intl/zh-cn/reference/android/os/Environment.html#getExternalStoragePublicDirectory%28java.lang.String%29

 

public static File getExternalStoragePublicDirectory (String type)
为放置一个特殊类型的文件获得顶级的public的外部存储路径。因为这是一般用户放置和管理他们自己文件的位置,所以你需要很小心的知道你把什么放在这个位置,确保你不会删除他们的文件或者妨碍他们自己的
组织结构。
在多用户设备(由UserManager描述),每个用户有他们自己的独立外部存储。应用
只能够有权使用正在运行的用户的外部存储。
这是一段在public外部存储上操作图片的标准编码例子。

void createExternalStoragePublicPicture() {
    // 在用户的public图片路径下创建一个我们需要放置我们的图片的路径
    // 注意,对于你放置在这的内容你需要很小心,因为用户通常管理这些文件。
    // 对于应用的图片和其他媒体考虑使用 Context.getExternalMediaDir().
    File path = Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES);
    File file = new File(path, "DemoPicture.jpg");

    try {
        //确保图片路径存在
        path.mkdirs();

        // 非常简单的代码,把应用资源的图片copy为外部存储文件。
        // 注意编码没有错误检查,并且假设图片很小(不试图在块中对他做copy)
        // 注意如果外置存储当前没有被挂载,会是失败的。
        InputStream is = getResources().openRawResource(R.drawable.balloons);
        OutputStream os = new FileOutputStream(file);
        byte[] data = new byte[is.available()];
        is.read(data);
        os.write(data);
        is.close();
        os.close();

        // 告知媒体扫描关于这个,以便可以让用户立即获得。
        MediaScannerConnection.scanFile(this,
                new String[] { file.toString() }, null,
                new MediaScannerConnection.OnScanCompletedListener() {
            public void onScanCompleted(String path, Uri uri) {
                Log.i("ExternalStorage", "Scanned " + path + ":");
                Log.i("ExternalStorage", "-> uri=" + uri);
            }
        });
    } catch (IOException e) {
        // 不能穿件文件,例如因为外置存储没有被挂载。
        Log.w("ExternalStorage", "Error writing " + file, e);
    }
}

void deleteExternalStoragePublicPicture() {
    // 在用户public的图片目录下创建一个我们要放置图片的路径。
    //如果没有挂载侧失败
    File path = Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES);
    File file = new File(path, "DemoPicture.jpg");
    file.delete();
}

boolean hasExternalStoragePublicPicture() {
    //在用户public的图片目录下创建一个我们要放置图片的路径并检查文件是否存在。
    //如果没有被挂载则图片不存在。    
    File path = Environment.getExternalStoragePublicDirectory(
    Environment.DIRECTORY_PICTURES);
    File file = new File(path, "DemoPicture.jpg");
    return file.exists();
}

 

    Context.getExternalMediaDir() :http://stackoverflow.com/questions/11908261/what-is-context-getexternalmediadir

 

返回值
  • 返回目录的路径.注意路径也许不存在,所以在使用前你必须确保他是存在的,例如使用File.mkdirs().

 

分享到:
评论

相关推荐

    power monitor ---PythonAPI.pdf

    《Power Monitor --- Python API》文档提供了使用Python与电力监控设备交互的方法,这使得开发者能够方便地获取电力数据、设置触发器以及进行校准等操作。本文档详细介绍了该API的各个方面,包括兼容性、安装步骤、...

    学生信息管理系统论文-java-文档-学生信息管理系统文档-论文

    - **IDE**(Integrated Development Environment):IDEA。 - **JDK**(Java Development Kit)版本:JDK 1.8。 - **构建工具**:Maven 3.6。 - **数据库**:MySQL 5.7。 - **应用服务器**:Tomcat 8.0 或 9.0...

    网上商品订单转手系统论文-java-文档-网上商品订单转手系统文档-网上商品订单转手系统

    - **JDK**:Java Development Kit,包含Java运行环境(Java Runtime Environment)、Java工具和Java基础类库。 - **Maven**:Apache Maven是一个项目管理和综合工具,用于构建和管理Java项目。 - **MySQL**:MySQL是...

    A0603使用共有外部存储ExternStoragePublic1

    - **权限申请**:自API 16开始,访问公共外部存储需要申请`WRITE_EXTERNAL_STORAGE`和`READ_EXTERNAL_STORAGE`权限。在AndroidManifest.xml中添加如下权限声明: ```xml <uses-permission android:name="android....

    安卓基础常用API

    - `Context.getExternalCacheDir()` 返回外部存储的 `SDCard/Android/data/包名/cache` 目录,可通过应用详情里的“清除缓存”选项进行清理。 - `Environment.getExternalStorageDirectory()` 返回 SD 卡的根目录,...

    安卓开发-解析word文档,过程详细,易懂,代码可直接复用.zip.zip

    使用`Environment.getExternalStorageDirectory()`可以获取外部存储目录,然后结合文件路径创建`File`对象。 3. **使用第三方库**: 如`DocX`或`Apache POI for Android`(如`docx4j-Android`)这样的库可以解析和...

    GPD_TEE_SE_API

    传输层API负责在安全元件和外部世界之间安全传输信息,保证数据传输过程中的完整性和机密性,同时还要确保通信双方的身份验证和授权。 在具体实现时,开发者需要查阅并遵循API的头文件和常量定义,这些定义了可以...

    Setup_Source.rar_API Environment.dll_安装程序

    标题中的“Setup_Source.rar_API Environment.dll_安装程序”揭示了这是一个关于软件安装程序的项目,其中包含一个名为“API Environment.dll”的动态链接库文件。这个DLL文件可能包含了用于处理环境变量、创建快捷...

    Android 获取内外置存储卡

    - 从Android 4.4开始,为了更好地管理外部存储,引入了`getExternalStorageDirectory()`方法,它返回公共外部存储根目录,通常对应于内部存储的“外部存储”部分。 - 要获取真正的外置SD卡路径,可以尝试使用 `...

    android文件路径详解

    - **getExternalFilesDir()**: 提供外部存储上的应用特定目录,用户无法直接访问,即使卸载应用,文件也会被删除。 - **getExternalCacheDir()**: 同样提供外部存储的缓存目录,应用被卸载后可能保留这些文件。 3...

    Android存储路径

    - **Android/data/包名**: 在Android 6.0(API级别23)之前,外部存储的公共目录。用户可以删除这些文件,因此不适合存储重要数据。 2. **外部存储**: - **SD卡**:在Android设备上,外部存储通常指SD卡。在...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    spring cloud中文版【Spring Cloud Config】--spring cloud中文文档.pdf

    Spring Cloud Config是Spring Cloud提供的一个解决分布式系统配置管理的解决方案。它包括服务端和客户端两个部分,...由于文档是中英文对照版,如果翻译质量不高,读者可以通过提供的联系方式修正文档中的不当之处。

    Android高级应用源码-判断双SD卡_CheckDoubleSDCard.zip

    在Android 6.0(API级别23)之后,用户可以将外部存储设备设置为“只读”,这在处理外部存储时需要额外的权限。 "判断双SD卡"的实现主要涉及以下几个关键知识点: 1. **获取存储路径**: Android提供了`...

    javacard中文规范

    JCRE还包含类库,提供了与智能卡硬件交互的必要功能,比如与外部世界通信、访问卡内存储以及执行加密操作。 其次,**JavaCard API**是开发者编写智能卡应用程序所使用的接口。这个API包含了一组预先定义的类和接口...

    Android中数据存储模块测试题.pdf

    - 可以通过 `Environment.getExternalStorageState()` 方法检查外部存储(通常是 SD 卡)的状态,如果返回 `Environment.MEDIA_MOUNTED`,则表示 SD 卡可用。 6. **节省内存和主动回收内存**: - 使用 `System.gc...

    Android读取各类文档

    使用`openFileInput`或`openFileOutput`读取内部存储的文件,使用`AssetManager`的`open`方法读取assets中的文件,使用`Environment.getExternalStorageDirectory()`获取外部存储路径。 此外,权限管理也是Android...

    PDF-AndroidStudioNewMediaFundamentals-英文版.rar

    - 使用`Environment.getExternalStorageDirectory()`可以访问外部存储,但需要注意Android 10(API 29)后对外部存储的权限限制。 7. **权限管理**: - 自Android 6.0(API 23)起,运行时权限管理成为强制要求,...

    android txt文件保存读取操作

    - **外部存储**:如果需要在外部存储上创建TXT文件,需要先检查是否有写入权限,然后使用`Environment.getExternalStorageDirectory()`获取根目录,再构造完整的文件路径。使用`FileWriter`或`BufferedWriter`进行...

    android 读取和存储sd卡.zip

    在Android 6.0(API级别23)及更高版本,用户动态授权外部存储权限。在`AndroidManifest.xml`中添加以下权限: ```xml <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-...

Global site tag (gtag.js) - Google Analytics