2012-11-23 102 views
-2

我正在開發一個測試類,它必須檢查是否有所有的資源。這是一個強制性規範,我通過文件名(png)訪問資源。訪問資源文件夾路由

我知道有加載作爲資源的可能性,但我無法加載資源。我正在開發一個測試應用程序。如何在res/drawable中訪問文件file.png

new FileOutputStream("/res/drawable/xxx.png"); 
+1

請在嘗試查找「如何」之前解釋「您要做什麼」。 – Simon

+0

您是否搜索解決您的問題? – hasanghaforian

+0

我編輯了這個問題變得更加清晰。我沒有找到解決方案 – Joterito

回答

0

建議從Android文檔閱讀Resources Overview,但如果你的問題只是有關訪問的資源,閱讀Accessing Resources。所以,你可以做你想做的。

總結一下,有一些方法可以訪問依賴於情況的資源,例如,當您知道資源的名稱或者知道它是ID時。並且還取決於您想要訪問資源的位置。

在你的情況我猜你想在你的代碼訪問drawable,如果這是真的,你可以這樣做:

R.drawable.xxx

例如如果您的PNG文件的名稱是MYIMAGE,你必須有名稱IM設置在的ImageView做到這一點:

ImageView im = ...; 
im.setImageResource(R.drawable.myimage); 

編輯

如果你要得到一個InputStream形式的資源文件,你應該考慮創建一個raw文件夾內res目錄,並把你的文件中,然後調用getResources()openRawResource (resourceName),可從您的活動或widget.For例如:

InputStream ins = getResources().openRawResource(R.raw.test); 

這裏的文件是原始文件夾,例如test.png

你可以看到更多的細節在這裏:

Using files as raw resources in Android

Android: Loading files from the Assets and Raw folders

stackoverflow

stackoverflow

stackoverflow

最後,如果您要從資源創建輸出文件,請從中獲取InputStream並將其內容寫入OutputStream,您可以看到一個很好的示例here

+0

謝謝。我知道如何作爲資源獲取資源。但我需要通過路徑和文件名來訪問。我必須這樣做,沒有別的。 – Joterito

+0

@Joterito你想做什麼? – hasanghaforian

+0

首先,我的英語很抱歉,它很差。我想要做的是訪問一個PNG我有可繪製的文件夾,但不作爲資源。我想通過文件名進行訪問。新的FileOutputStream(「/ res/drawable/xxx.png」);我不知道的是資源文件夾中文件的路徑。/RES /繪製/? (getFilesDir()+「/ res/drawable?對不起,如果我沒有解釋得很好,謝謝 – Joterito