【问题标题】:Where can I create directories that are visible to Windows Explorer and my application in Android?在哪里可以创建对 Windows 资源管理器和我在 Android 中的应用程序可见的目录?
【发布时间】:2012-01-07 14:17:10
【问题描述】:

我正在开发一个具有以下要求的应用程序:

当设备通过 USB 连接到计算机时,用户应该 能够使用 Windows 资源管理器将文件拖入和拖出 应用程序目录。

应用程序将使用其中一些文件并生成其他文件 应该可以复制回电脑。

目标设备没有外部存储设备(例如 例如 SD 卡)。

存储文件的目录应该是可访问的 在应用程序运行时。

我查看了 android 文档中的数据存储页面,但其中所述的方法似乎都没有满足我的要求。

或者,有没有办法在应用程序运行时选择计算机并通过 USB 将文件“发送”到计算机? “接收”文件怎么样?

满足此要求的最佳方法是什么?

【问题讨论】:

  • 如果没有外部存储卡(SD 卡),则无法执行此 AFAIK。当手机通过 USB 连接到计算机时,来回传输文件的唯一方法是安装 SD 卡,以便 Windows 识别它。内部存储无法访问。
  • 在 Eclipse 中,使用 ADT(或通过命令行),您可以浏览目录并推入或拉出 SD 卡或内部存储中的文件。但是,Android SDK 似乎没有提供这样的功能。您可以对 ADT 工具进行一些研究。
  • @Huang 我已经使用该功能从设备推送/拉取文件,但我不能指望我的最终用户在他们的计算机上安装 android SDK。

标签: android filesystems file-permissions data-storage


【解决方案1】:

当设备通过 USB 连接到计算机时,用户应该能够使用 Windows 资源管理器将文件拖入和拖出应用程序目录。

如果“应用程序目录”指的是外部存储上的一个点,这是可能的。

应用程序将使用其中一些文件并生成其他应该能够复制回计算机的文件。

如果这应该同时发生,则设备必须运行 Android 3.x 或更高版本。 Android 1.x 和 2.x 不支持同时访问外部存储。

目标设备没有外部存储设备(例如 SD 卡)。

它需要有一些被指定为“外部存储”的东西。这不一定是可移动存储。在 Android 3.x 和 4.x 上,它通常只是被指定为可作为外部存储访问的板载闪存的一部分。在 Android 术语中,“外部存储”是指“主机可以使用 USB 访问,设备上的所有应用程序也可以访问”。

在应用程序运行时应该可以访问存储文件的目录。

同样,这需要 Android 3.x 或更高版本。如果这是一款定制设备,那很可能意味着您将需要使用最近发布的 Android 4.0 源代码。

或者,有没有办法在应用程序运行时选择计算机并通过 USB 将文件“发送”到计算机? “接收”文件怎么样?

分别是否和否。

【讨论】:

    【解决方案2】:

    您想要做的是使用 Environment.getExternalStorageDirectory。即使没有 sd 卡,大多数 android 设备也会将板载内存的一部分分区用作外部存储。

    【讨论】:

    • 至少我的 Xoom 就是这种情况,或者我的 Droid X 中没有 SD 卡
    猜你喜欢
    • 2023-02-06
    • 1970-01-01
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    相关资源
    最近更新 更多