我建立一个机器人库项目,需要一些静态资源(图片/ XML和等)内部。
然后,我不知道在那里我可以把这些资源,以及如何访问它们?
因为我把资源的assets
文件夹中。 我用的是AssetManager访问资源:
public class DataProvider {
byte[] getDrawableData(int num) {
AssetManager am = Resources.getSystem().getAssets();
InputStream is = null;
try {
is = am.open("t.jpg");
} catch (IOException e) {
return "".getBytes();
}
if (is != null) {
Drawable dw = Drawable.createFromStream(is, null);
Bitmap bm = ((BitmapDrawable) dw).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, stream);
return stream.toByteArray();
}
return "".getBytes();
}
}
不过,我得到了错误: W/System.err(19583): java.io.FileNotFoundException: t.jpg
问题是什么?
正如Sankar V
表示,库项目不支持原始资产。 然后,看来我得把resurces下res
文件夹。
但我曾尝试使用Resources.getSystem().getResources()....
方法不能得到我想要的东西。 而人们说,这种方法只能获得系统级资源,而不是应用程序级别的资源。
如果这是事实。 这是否意味着我必须保持的参考Context
对象的任何地方我想要得到的任何资源?