2011-10-04 2 views
3

나는 안드로이드 라이브러리를 작성 중이며 문제가 있습니다. 은 안드로이드 라이브러리에서 원시 리소스에 액세스하고 있습니까?

InputStream inputStream = mContext.getResources().openRawResource(R.raw.sample);

이 (mContext가 기준입니다 :

InputStream inputStream = Resources.getSystem().openRawResource(R.raw.sample); 

나는 또한 시도했다 : 내 라이브러리에서

나는 그렇게 내 라이브러리 프로젝트의 res/raw 디렉토리에 저장된 파일에 액세스를 시도하고있다 주 앱에서 내 라이브러리로 전달했습니다.

주 프로젝트에서 라이브러리를 인스턴스화하려고 시도 할 때 file not found 예외가 발생합니다.

실제로이 작업을 수행 할 수 있습니까? 그렇다면 어떻게해야합니까? 또는 내 주요 프로젝트에서 리소스를 가져와 라이브러리로 보내야합니까?

답변

1

라이브러리의 일부 앱에있는 원시 리소스에 액세스하는 것은 좋지 않습니다.

내가 게시 한 두 번째 구문을 사용하여 응용 프로그램에서 먼저 InputStream을 여는 것이 좋습니다. 그런 다음 InputStream을 라이브러리에 전달합니다.

마지막으로 라이브러리에서 리소스에 액세스하려면 this을 시도 할 수 있습니다.

관련 문제