【问题标题】:Android get filefrom assets or resAndroid从资产或红色获取文件
【发布时间】:2018-05-27 00:25:22
【问题描述】:

我正在尝试用我的应用程序打包一个图像,这个图像不会被任何活动或布局使用,它将被一个以文件作为参数的内部进程使用...

我没有找到从资产或资源中获取文件或文件路径的任何方法,所有方法如下:

        context.getAssets().open();
        context.getResources().openRawResource()

返回一个输入流以从文件中读取字节,但我需要文件本身或文件路径(为了创建新文件(文件路径)并将其作为参数传递给第三方 API)

我该怎么做?

【问题讨论】:

    标签: android assets android-resources android-image


    【解决方案1】:

    资产和资源都不是设备文件系统上的文件。您的选择是:

    1. 说服第三方 API 的开发者offer a better API,或

    2. 使用您问题中的方法获取InputStream,并使用它将字节复制到您控制的某个文件中(例如,在getCacheDir() 中),以便您可以使用该文件

    【讨论】:

    • 您知道“什么是 apk”的简单答案吗?传统的java bundle(jar)可以将文件寻址到正在运行的程序为什么apk不能
    • @RafaelLima:“传统的 java 包 (jar) 可以将文件寻址到正在运行的程序”——您必须执行我为 JAR 中打包的 Java 资源描述的相同操作。 File 仅适用于文件系统上的普通文件。它不适用于 inside 文件的内容,例如 JAR 的内容、APK 的内容或其他 ZIP 文件的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 2017-07-09
    • 2012-10-30
    • 2014-02-14
    • 1970-01-01
    • 2012-01-20
    相关资源
    最近更新 更多