-2

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

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

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

1 回答 1

0

建议阅读Android 文档中的资源概述,但如果您的问题只是关于访问资源,请阅读访问资源。这样您就可以做您想做的事了。

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

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

R.drawable.xxx

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

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

编辑

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

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

例如,您在 raw 文件夹中的文件是test.png.

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

在 Android 中使用文件作为原始资源

Android:从 Assets 和 Raw 文件夹加载文件

堆栈溢出

堆栈溢出

堆栈溢出

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

于 2012-11-23T18:46:13.377 回答