我的問題是:是否可以在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