我正在开发一个测试类,必须检查是否有所有资源。这是一个必须遵守的规范,我按文件名(png)访问资源。
我知道有可能加载资源,但我无法加载资源。我正在开发一个测试应用程序。我怎样才能访问名为res / drawable的文件file.png
?
new FileOutputStream("/res/drawable/xxx.png");
答案 0 :(得分:0)
建议您阅读Android文档中的Resources Overview,但如果您的问题仅仅是访问资源,请阅读Accessing Resources。这样您就可以按照自己的意愿行事。
总结一下,有一些方法可以访问依赖于情况的资源,例如,当您知道资源的名称或者您知道它的ID时。它还取决于您想要访问资源的位置。
在你的情况下,我猜你想在代码中访问drawable
,如果是,你可以这样做:
R.drawable.xxx
例如,如果您的.png文件的名称是 myimage ,您必须在名为 im 的 ImageView 中设置它,请执行以下操作:< / p>
ImageView im = ...;
im.setImageResource(R.drawable.myimage);
修改强>:
如果必须在资源中获得InputStream
表单文件,则应考虑在res目录中创建raw
文件夹并将文件放入其中,然后调用getResources()。openRawResource(resourceName) )来自您的Activity或widget。例如:
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
最后,如果您想从资源创建输出文件,从中获取InputStream并将其内容写入OutputStream,您可以看到一个很好的示例here 强>