我的问题是:是否可以在Android中获取资源的绝对路径(位于res /文件夹的子目录中)?获取Android资源的路径
大多数我看到这个问题对谷歌的答案建议得到文件描述符,这意味着这是不可能的。
是吗?
编辑:我想这样做的原因是因为我正在写接受媒体的路径,并发挥它的类。如果我可以传递资源的绝对路径,测试会更容易。
我的问题是:是否可以在Android中获取资源的绝对路径(位于res /文件夹的子目录中)?获取Android资源的路径
大多数我看到这个问题对谷歌的答案建议得到文件描述符,这意味着这是不可能的。
是吗?
编辑:我想这样做的原因是因为我正在写接受媒体的路径,并发挥它的类。如果我可以传递资源的绝对路径,测试会更容易。
使用URI路径,而不是“绝对”路径,见this post
Uri path = Uri.parse("android.resource://com.segf4ult.test/" + R.drawable.icon);
Uri otherPath = Uri.parse("android.resource://com.segf4ult.test/drawable/icon");
或者使用openRawResource(R.id)打开一个InputStream和以与使用FileInputStream相同的方式使用它(只读)
我收到不支持的错误文件格式。 – NarendraJi 2016-06-02 08:57:18
是什么样的文件呢? – HPP 2017-01-20 02:15:58
不可能。您看到的资源文件夹已编译到apk中,甚至可能不会保存原样。 (如那些布局的xml文件不再XML文件一旦被编译)
两个可能的解决方案/变通您的具体情况:
这看起来不正确。我只是试过HPP的答案,它效果很好。 – PEZ 2014-04-29 16:57:37
HPP建议的答案是您的最佳方法。 – user210504 2014-06-22 18:20:29
HPP的答案显示了正确的方法。 – Ghashange 2014-12-09 19:40:29
一般来说,NO。由于它在这里重复了好几次,您需要通过资源访问它们。
这就是说,有办法可以解决的是:
/data/data/yourapp/
或/tmp/
在任何情况下,你将测试针对的是最有可能不是在大多数设备上工作的解决方案。我建议你遵循开发者指南的指示:http://developer.android.com/guide/topics/data/data-storage.html
请参阅HPP的答案,你写了你的答案2011,你仍然坚持你的答案? – user1767754 2015-04-28 09:29:47
您应该将HPP的答案标记为正确答案。您标记的那个不正确 – 2017-04-25 19:12:57
@LeonardoAcevedo完成。 – Prime 2017-04-27 17:30:01