2012-06-06 4 views
2

나는 이것을 꽤 오랫동안 들여다 보았다. 내 파일 /res/raw/video.mp4가 내 Android 앱에서 발견되지 않는 이유는 해결할 수 없습니다. 저는 API 15에 있으며 전화는 v4.0.3으로 최신 버전입니다.안드로이드에서 리소스 파일에 접근하기

테스트 코드는 현재 다음과 같습니다

String file = "android.resource://" + getPackageName() + "/" + R.raw.movie; 
File f = new File(file); 
message = f.exists() ? "file exists" : "file missing"; 

라는 메시지 문자열에서 지금까지 결과를 시도 모든 조합을 "파일이 없습니다"로 반환된다. 리소스에서 파일에 액세스하는 올바른 방법은 무엇입니까? 명백한 것들 "/res/raw/video.mp4"등도 시도했지만 모두 실패했습니다. ;

+0

이 답변이 도움이 될 수 있습니까? http://stackoverflow.com/a/2856501/1063730 – yoshi

+0

네, 그 하나를 사용하여 inputstream에서 열 수 있지만 ThumbnailUtils.createVideoThumbnail()을 사용하려면 문자열로 주소를 가져와야합니다. 내 주요 목표입니다 (하지만 난 내 예제가 관계없이 작동하지 않는 이유의 바닥에 가고 싶습니다). – BlueVoodoo

+0

글쎄, 내가 답변을 게시하기 전에 의견을 읽는 것을 가르쳐 줄 것입니다 ... 요시는 내 대답과 같은 것을 말하는 링크를 게시했습니다. : p – Barak

답변

3

을 가정 당신이이 일을해야하는 파일을 처리하는 스트림을 열려면 : 내가 알고있는 지금,

InputStream raw = getResources().openRawResource(R.raw.movie); 

편집

확인을 정확히 너는 나에게 나쁜 소식이있어. 가능하지 않다.

이것을 보시오 SO question

기본적으로 리소스가 부족한 파일을 SD 카드 나 내부 저장 장치와 같은 곳으로 복사해야합니다.

+0

예, 작동하지만이 테스트를 위해 InputStream을 열 필요가 없습니다. – BlueVoodoo

+0

아 좋아요. 그 해명을 가져 주셔서 감사합니다. – BlueVoodoo

0

String url = "file:///android_asset/raw/filename.jpg "

+0

같은 결과입니다. "새로운 파일 ("file : ///android_asset/raw/video.mp4 ")"을 (를) 시도했습니다. 또한 "file : ///android_asset/res/raw/video.mp4"를 시도했으나 작동하지 않았습니다. – BlueVoodoo

관련 문제