2010-08-04 7 views
0

context.getResources(). getString (R.drawable.myimage)의 결과를 활동이 아닌 다른 클래스로 전달하여 리소스를 열려고합니다. context.getResources(). getString (R.drawable.myimage)는 res/drawable-mdpi/myimage.png를 반환합니다. 그러나이 파일을 열려고하면 FileNotFoundException이 발생합니다.안드로이드에서 활동 외부의 리소스 열기

활동 외부에서 자원을 열려면 적절한 방법은 무엇입니까?

답변

0

파일을 열려고하는 코드를 게시 할 수 있습니까?

res/drawable-mdpi/myimage.png는 절대 경로가 아닌 상대 경로입니다. 절대 경로가 아닌 상대 경로를 사용하여 올바른 경로를 열지 못하고있는 것 같습니다.

+0

예, 파일 경로에서 읽으려고하는 다른 클래스에있는 코드는 다음과 같습니다. DataSource fds = 새 FileDataSource ("res/drawable-mdpi/checkin.png"); messageBodyPart.setDataHandler (새 DataHandler (fds)); 경로의 앞부분을 절대적으로 만들려면 어떻게해야합니까? – Alexis

+0

이와 같은 자산 디렉토리가 아닌 앱 디렉토리에서 자원을 읽을 수 있는지 확실하지 않습니다. 한 가지 방법은 사용자 정의 데이터 핸들러를 사용하고 context.getResources(). openRawResource (R.drawable.myimage)에서 InputStream으로 작업하는 것입니다. 다음 단계는 다음을 참조하십시오. http://stackoverflow.com/questions/ 2830561/how-to-convert-an-data-to-a-datahandler 다른 쉬운 방법이 있는지 확실하지 않습니다. –

+0

도 도움이됩니다. http://thedevelopersinfo.com/2009/11/17/using-assets-in-android/ –

관련 문제