안드로이드 개발 질문/답변
(글 수 45,052)
처음 글을 올리는 군요..;
궁금한점이 있어 조언구합니다.
환경설정값이 셋팅된 XML문서가 있으며 이문서를
소스에서 그대로 원본을 읽어와서(String형태로) 활용하려합니다.
하지만 분명히 apk파일안에 해당 XML이 존재하나,
File file = new File("/res/xml/sample.xml");
위와 같이 읽은후 정보를 보면 아래와 같습니다.
file.isDirectory() = false
file.isFile() = false
file.canRead() = false
file.isHidden() = false
file.length() = 0
이후 new FileInputStream(file)와 동시에 FileNotFound 예외가 납니다.
경험있으신분의 조언 구합니다.
궁금한점이 있어 조언구합니다.
환경설정값이 셋팅된 XML문서가 있으며 이문서를
소스에서 그대로 원본을 읽어와서(String형태로) 활용하려합니다.
하지만 분명히 apk파일안에 해당 XML이 존재하나,
File file = new File("/res/xml/sample.xml");
위와 같이 읽은후 정보를 보면 아래와 같습니다.
file.isDirectory() = false
file.isFile() = false
file.canRead() = false
file.isHidden() = false
file.length() = 0
이후 new FileInputStream(file)와 동시에 FileNotFound 예외가 납니다.
경험있으신분의 조언 구합니다.
2010.03.23 17:56:11
감사합니다^^
해결하였습니다. 기본적인 것 이었군요.
아래 설명입니다.
Including Static Files as Resources
해결하였습니다. 기본적인 것 이었군요.
아래 설명입니다.
Including Static Files as Resources
application내에서 외부 파일 리소스가 필요할 경우, 해당 파일들을 res/raw 폴더에 놓고 project의 distrubution package를 구성하면 됨.
이러한 Read Only resource들에 access 하기 위해서는 openRawResource 메소드를 이용하며, R.raw 클래스의 변수명으로 확장자 없이 파일명을 전달함
- Resources myResources = getResources();
InputStream myFile = myResources.openRawResource(R.raw.myfilename);
이러한 resource 메커니즘은 사전과 같이 사이즈가 크고, 안드로이드 데이터베이스로 convert 가 필요 없거나 불가능할 경우 좋은 대안이 될수 있음.
InputStream is = getResources().openRawResource(R.raw.sample) ;
같은 식으로 읽으면 됩니다.