【问题标题】:Access to resource folder route访问资源文件夹路由
【发布时间】:2012-11-23 17:23:34
【问题描述】:

我正在开发一个测试类,它必须检查是否有所有资源。我必须通过文件名(png)访问资源。

我知道可以作为资源加载,但我无法加载资源。我正在开发一个测试应用程序。如何访问名为 res/drawable 中的文件 file.png

new FileOutputStream("/res/drawable/xxx.png");

【问题讨论】:

  • 在尝试找到“如何”之前,请解释您正在尝试做的“什么”。
  • 您是否通过搜索来解决您的问题?
  • 我已经编辑了问题以使其更清晰。我还没有找到解决办法
  • 是的,我已经搜索过,但没有找到。抱歉,我不是安卓专家开发者

标签: android resources


【解决方案1】:

建议阅读Android文档中的Resources Overview,但如果您的问题只是访问资源,请阅读Accessing Resources。这样您就可以为所欲为。

总而言之,有一些访问资源的方法取决于具体情况,例如当您知道资源的名称或知道它的 ID 时。而且还取决于您要访问资源的位置。

在你的情况下,我猜你想在你的代码中访问drawable,如果是这样,你可以这样做:

R.drawable.xxx

例如,如果您的 .png 文件的名称是 myimage 并且您必须在 ImageView 中使用名称 im 进行设置,请执行以下操作:

ImageView im = ...;
im.setImageResource(R.drawable.myimage);

编辑

如果您必须在资源中获取InputStream 格式的文件,您应该考虑在 res 目录中创建一个raw 文件夹并将您的文件放入其中,然后从您的活动中调用 getResources().openRawResource(resourceName)或小部件。例如:

InputStream ins = getResources().openRawResource(R.raw.test);

您在原始文件夹中的文件例如是test.png

您可以在此处查看更多详细信息:

Using files as raw resources in Android

Android: Loading files from the Assets and Raw folders

stackoverflow

stackoverflow

stackoverflow

最后,如果你想从你的资源中创建一个输出文件,从中获取一个 InputStream 并将其内容写入一个 OutputStream,你可以看到一个很好的例子here

【讨论】:

  • 谢谢。我知道如何将资源作为资源来访问。但我需要通过路径和文件名访问。我必须这样做,别无他法。
  • @Joterito 你想做什么?
  • 首先,对不起,我的英语很差。我不想做的是访问我在可绘制文件夹中但不作为资源的 png。我想通过文件名访问。 new FileOutputStream("/res/drawable/xxx.png");我不知道资源文件夹中文件的路径。 /res/drawable/? (getFilesDir()+"/res/drawable?对不起,如果我解释得不好,谢谢
猜你喜欢
  • 2018-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-23
  • 2018-05-28
  • 1970-01-01
相关资源
最近更新 更多