【问题标题】:Opening a resource outside an activity in Android在 Android 中打开 Activity 之外的资源
【发布时间】:2011-03-25 01:19:35
【问题描述】:

我试图通过将 context.getResources().getString(R.drawable.myimage) 的结果传递给另一个不是活动的类来打开资源。 context.getResources().getString(R.drawable.myimage) 返回 res/drawable-mdpi/myimage.png 但是,当我尝试打开此文件时,它会抛出 FileNotFoundException。

在活动之外打开资源的正确方法是什么?

【问题讨论】:

    标签: android resources android-activity drawable


    【解决方案1】:

    你能把代码贴在你试图打开文件的地方吗?

    res/drawable-mdpi/myimage.png 是相对路径,而不是绝对路径。我猜你没有使用相对路径而不是绝对路径打开正确的路径。

    【讨论】:

    • 是的,这是另一个试图读取文件路径的类中的代码。数据源 fds = new FileDataSource("res/drawable-mdpi/checkin.png"); messageBodyPart.setDataHandler(new DataHandler(fds));如何让路径的前部使其成为绝对路径?
    • 我不确定是否可以像这样从资产目录以外的应用目录读取资源。一种方法可能是使用自定义数据处理程序并使用 context.getResources().openRawResource(R.drawable.myimage)) 中的 InputStream,下一步请参阅:stackoverflow.com/questions/2830561/… 不过不确定是否还有另一种更简单的方法.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 2015-12-11
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    相关资源
    最近更新 更多