Android在运行时在哪里查找资源文件?
我正在尝试打开位于android studio项目@res/drawable/conan_obrian.png中的文件。但是,引发了java.io.FileNotFoundException。我尝试了不同的路径名组合,但没有结果 此代码段正在引发异常:Android在运行时在哪里查找资源文件?,android,Android,我正在尝试打开位于android studio项目@res/drawable/conan_obrian.png中的文件。但是,引发了java.io.FileNotFoundException。我尝试了不同的路径名组合,但没有结果 此代码段正在引发异常: InputStream is; byte[] buffer = new byte[0]; try { final AssetManager assetMgr = context.getResources()
InputStream is;
byte[] buffer = new byte[0];
try {
final AssetManager assetMgr = context.getResources().getAssets();
is = assetMgr.open("drawable/conan_obrian.png");
buffer = new byte[is.available()];
is.read(buffer);
} catch (IOException e) {
e.printStackTrace();
}
serverAPI.register(userName, Base64.encodeToString(buffer,Base64.DEFAULT).trim(), myCrypto.getPublicKeyString());
如果您有一个
assets/drawable
文件夹,那么您的代码将是正确的,但您正在尝试加载一个资源,因此这将是R.drawable.conan\u obrian
例如,您可以在ImageView上使用该id设置ResourceDrawable
或者,您可以使用该ID和
Drawable d = getResources().getDrawable(R.drawable.conan_obrian)
res/
目录下的任何内容都会加载到R.java
文件中的一长串整数中 您的资产文件夹是否实际包含可绘图文件夹?AS>2.0中是否有默认资产文件夹找不到,据我所知不是。不过,您可以使用文件>新建菜单创建资产文件夹。否则,我想我的答案就是你想要的。不清楚你为什么需要一个字节数组的可能的副本我应该说。。。但是我确实回答了标题中的问题,我没有将.png文件用作布局资源。因此,我认为我不能使用对可绘制对象的引用,例如R.Drawable.conan_obrian。它不在布局文件夹中。。。我没有说R.layout
是吗?