我正在开发一个测试类,它必须检查是否有所有资源。这是我通过文件名(png)访问资源的强制性规范。
我知道有可能作为资源加载,但我无法加载资源。我正在开发一个测试应用程序。如何访问file.png
名为 res/drawable 的文件?
new FileOutputStream("/res/drawable/xxx.png");
建议阅读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:从 Assets 和 Raw 文件夹加载文件
最后,如果您想从资源创建输出文件,从中获取 InputStream 并将其内容写入 OutputStream,您可以在此处看到一个很好的示例。