【问题标题】:File path for android when using emulator使用模拟器时android的文件路径
【发布时间】:2012-05-22 14:00:59
【问题描述】:

我是安卓新手。我正在尝试从服务器下载文件并将文件保存在特定路径中。该应用程序运行良好。但是我无法找到下载文件的路径。在我给出的代码中

文件输出 = new File("/data/data/com.test.firstApp/", fileName);

我在哪里可以找到我系统上的文件?

【问题讨论】:

    标签: android download


    【解决方案1】:

    不要使用硬编码的文件路径。该框架将为您提供要保存文件的区域的基本路径。

    对于 SD 卡,请使用 Environment.getExternalStorageDirectory()

    对于本地文件,使用Context.getFilesDir()(或Context.openFileOutput(String name, int mode)等)

    对于本地缓存,使用Context.getCacheDir()

    【讨论】:

    • 我同意你,我使用了 getFilesDir()。该应用程序即使现在也运行良好。我的问题是 - 我的 android 模拟器从服务器下载文件并存储在 getFilesDir() 路径中。我的电脑上的这条路径在哪里?我想在记事本中打开我下载的文件。
    • getFilesDir 返回一个 File 对象。在这个 File 对象上,记录 File.getAbsoluteFilePath 的 String 值,这将告诉您根目录的完整绝对路径。
    • 我得到了这种形式的路径:/data/data/com.test.firstApp/files/test_123.wav。那么在我的系统上哪里可以找到它呢?
    • 不确定“在我的系统上”是什么意思。模拟器使用不直接映射到计算机硬盘驱动器上的文件夹的虚拟存储。要获取该文件,请在命令行打开一个“adb shell”会话。您可以使用常用的 unix/linux 命令(cd、ls、...)浏览模拟器的虚拟存储,也可以使用“adb pull”命令将其复制到计算机的本地存储
    • 聪明的家伙。非常感谢你。这就是我一直在寻找的。我找到了文件。 :)
    【解决方案2】:

    补充 Rich 的回答,如果您最终将写入外部存储,请确保在清单中包含此权限:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    

    【讨论】:

      【解决方案3】:

      查看此页面http://developer.android.com/guide/topics/data/data-storage.html

      你可以找到很多方法来保存文件。此外,您还可以阅读有关良好做法的内容。

      干杯

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-19
        • 1970-01-01
        • 1970-01-01
        • 2014-12-12
        • 2013-01-07
        • 2017-12-26
        相关资源
        最近更新 更多