CAFE

9. 리소스에 대해서 - raw, assets 편

작성자슈퍼성근|작성시간11.02.22|조회수8,294 목록 댓글 17

슈퍼드로이드 카페의 안드로이드 강좌가 책으로 나왔습니다.

도서명 : 이것이 안드로이드다.

도서링크 : http://www.yes24.com//24/goods/13950202

================================================================================================


4. raw(가공되지 않은) 리소스 

 

해당 리소스에는 어떤 파일이든지 넣을 수 있다.

일반적으로 Audio,Video 등의 원본 파일을 많이 넣는다.

(하지만 특정 파일을 넣어야 한다는 규칙과 특성은 없다.)

 

아래는 여러가지 format의 파일을 리소스에 추가한 내용과

R.java에 추가된 내용이다.

 

테스트를 위해 아래의 "text_test.file.txt" 리소스를 한번 사용해 보겠다.

 

아래와 같이 Layout에 TextView를 하나 만들고 TextView에 해당 리소스 내용을 출력하겠다.

 

아래에 소스를 추가 하였다.

실행해 보도록 하자.

 

정상적으로 내용이 출력되었다.

 

 본 소스는 아래의 첨부파일을 참조하자.

첨부파일 Resource.zip

 

5. asset 리소스 

 

asset 리소스는 raw 리소스와 유사하다.

asset에도 어떤 파일도 담을 수 있는 것이다.

 

하지만 명확한 차이점은 존재한다.

아래를 보자.

 

해당 asset resource는 res 폴더내에 존재하는 것이 아니라,

res 폴더와 동등한 위치에 존재한다.

왜 그럴까?

 

아래에서 asset 리소스에 이전에 사용하였던 text 파일을 하나 추가 하였다.

자세히 보자.

첫번째로 assets 하위에 또 다른 폴더를 두었다.

두번째로 assets 리소스를 추가 했음에도 불구하고 R.java에 리소스 ID가 추가 되지 않았다.

 

이 것이 assets 리소스의 가장 큰 차이다.

전체 리소스를 컴파일하고 R.java를 생성해 주는 AAPT(Android Asset Packaging Tool)는

res 폴더내에 존재하는 리소스들만 R.java에 ID를 추가해 준다.

 

그렇다면 assets 리소스는 ID가 없이 어떻게 접근할까?

assets 리소스는 우리가 일반 파일을 접근할 때 파일의 경로로 접근 하는 방법과

같은 방식을 사용한다.

즉 "/assets" 를 시작으로 경로를 붙여 접근하는 것이다.

그러므로 "/assets" 하위에 또 다른 폴더 들을 생성할 수 있고 접근이 가능한 것이다.

res 폴더의 하위 고정정인 폴더 (drawable, values, layout...)에서는 하위로

폴더를 추가할 수 없다.

 

assets 리소스는 파일로 처리하는 각종 API에서 사용는 것이다.

 

아래에서 assets 리소스를 사용해 보도록 하자.

 

위의 소스를 보면

일반 리소스를 참조할 때 Resource 객체를 이용하지 않고

AssetManager를 이용하여야 하는 것에 주의하자.

 

 

 

본 소스는 아래를 참조하자.

첨부파일 Resource2.zip

 




!!! 위의 주제에 해당하는 적당한 예를 댓글로 남겨 주세요. ^^

    활용 방안의 예는 다른 개발자들에게 많은 도움이 됩니다. 


!!! 카페의 활성화를 위해 추천 버튼을 눌러 주세요. 


다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 답댓글 작성자슈퍼성근 작성자 본인 여부 작성자 | 작성시간 14.09.16 고맙습니다.
  • 작성자춘춘 | 작성시간 14.01.07 분리라면 byte단위로 쪼개서 하나로 합쳐서 사용하는 방식을 사용해야하는건가요?
  • 답댓글 작성자슈퍼성근 작성자 본인 여부 작성자 | 작성시간 14.09.16 1M 제한이 이제 없어진듯 합니다.
    따라서 분리할 필요가 없어졌네요. ^^;

    오해가 있을 것 같아 강좌에 해당 내용을 제거하였습니다.
  • 작성자으헝헝 | 작성시간 14.09.16 요런 차이점이 있었군요 매번쓰면서도 확실히몰랐던 부분 ㅠ
  • 답댓글 작성자슈퍼성근 작성자 본인 여부 작성자 | 작성시간 14.09.16 감사합니다. ^^
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼