【问题标题】:How do i import a file from my system downloads folder into the raw directory如何将系统下载文件夹中的文件导入原始目录
【发布时间】:2018-08-09 23:09:29
【问题描述】:

我正在我的 Android 手机上从互联网下载一个 .csv 文件。这不是通过我的应用程序完成的。但是,我想将此文件从系统下载文件夹导入到我的原始目录中。我在操作栏中选择一个按钮并调用下面的方法。我是 Android 新手,开发人员文档对初学者来说有点糟糕。我不知道从哪里开始。这就是我想出的。

我创建了这个隐含的意图:

Intent i = new Intent();
        i.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS);
        startActivity(i);

它会显示下载文件夹。如何从该文件夹中选择某些内容并将其导入我的原始目录?我需要设置广播接收器吗?我需要一个意图过滤器吗?我应该使用服务吗?我是否使用了错误的 Intent 操作?

请放过我一点。我是新手,我没有看到很多关于这个过程的好的解释。如果有人指出我正确的方向,我会同样高兴。提前致谢。

【问题讨论】:

    标签: android import broadcastreceiver android-download-manager android-implicit-intent


    【解决方案1】:

    如何从该文件夹中选择一些内容并将其导入我的原始目录?

    我假设“我的原始目录”指的是原始资源(Android 项目中的res/raw/)。

    如果是这样,资源在运行时是只读的。它们是您的开发机器上的文件;它们不是设备上的文件。您不能以任何方式导入在运行时将它们变成原始资源的东西。

    【讨论】:

    • 那么如果我需要将文件导入到另一个目录,你有什么建议?我需要使用 getDir() 创建一个吗?如果是这样,我如何从下载文件夹中选择一个文件并将其带入我的项目?
    • @I'mStillStoopid: “所以如果我需要将文件导入到另一个目录,你有什么建议?” - 我不太明白你所说的“进口”是什么意思。 Use ACTION_OPEN_DOCUMENT to allow the user to pick a document(或 ACTION_GET_CONTENT 在旧设备上,如果您的 minSdkVersion 低于 19)。然后,要么立即使用数据,要么将其复制到internal storage 或其他地方。
    • 让我试着简化我所说的。我想在我的应用程序中按下一个按钮。该按钮应打开我设备上的下载文件夹。我想从下载文件夹中选择一个文件并将其保存在我的应用程序的某个位置。所以我可能需要创建一个新目录或将其存储在我的主文件目录中。但是当我尝试时 ACTION_OPEN_Document 抛出了一个错误。声称我没有可以执行该操作的应用程序。那我应该用什么从下载文件中获取文件
    • @I'mStillStoopid: "但是 ACTION_OPEN_Document 在我尝试时抛出了一个错误。声称我没有可以执行该操作的应用程序" -- 要么你错误地设置了Intent ,或者您的设备运行的是 Android 4.3 或更早版本。 “那么我应该用什么来从下载文件中获取文件”——Android 中没有任何东西可以完全满足您的要求:从“下载”目录开始选择内容。你可以使用a file chooser library
    猜你喜欢
    • 2021-10-17
    • 1970-01-01
    • 2016-12-02
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 2010-09-27
    相关资源
    最近更新 更多