[안드로이드] 리소스 관련 용어 정리

반응형




읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥


이어지는 글이 굉장히 늘어나 버렸습니다.-_-;

리소스 관련하여 여러가질 종합하다보니 너무나도 많네요...
아무래도 안드로이드에서 가장 중요한 부분이라 쭐이고 쭐여도 이정도 인듯;;;;


리소스 관련 용어 정리

안드로이드에서 리소스 시스템은 완전힌 리소스의 기능을 위해 여러가지 다른 것들을 함께 가져옵니다.

리소스 관련 용어 시작합니다!


Asset
어플리케이션에 포함될 데이터 입니다. 소스코드, 이미지, XML 등을 포함합니다. 디렉토리 계층구조로 이루어져 있으며 최종에는 하나의 ZIP 파일로 묶여집니다.


aapt
안드로이드 에셋 패키징 도구 ( Android Asset Packaging Tool ) 입니다. 에셋의 최종 ZIP 파일을 생성하는 도구이죠.


리소스 테이블
aapt 가 생성하는 특별한 에셋으로써 ' 어플리케이션/패키지 ' 안에 포함된 모든 리소스를 지칭합니다. 이 파일은 리소스 클래스를 통해 접근할 수 있습니다.


리소스
하나의 값을 지칭하는 리소스 테이블 내의 엔트리를 나타냅니다. ' 프리미티브 ' 와 ' 백 ' 이라는 두가지의 타입이 있습니다.


리소스 식별자 ( Identifier )
리소스 테이블의 모든 리소스는 고유한 정수 값을 가지는데, 소스코드에서 또는 XML에서 이 값을 사용할 수가 있습니다.


프리미티브 ( Primitive ) 리소스
간단한 문자열로 작성되는 프리미티브 타입 ( 정수 , 문자열 , 색상 값 등 ) 을 지정하는 리소스입니다. 비트맵, XMl 같은 복잡한 리소스는 프리미티브 문자열 리소스로 저장이 되며, 그 문자열 리소스 값은 실제 데이터인 에셋의 경로가 됩니다.


백 ( Bag ) 리소스
간단한 문자열 대신 ' 이름 / 값 ' 쌍으로 이루어진 리소스입니다. 각 이름은 그 자체로 리소스 식별자가 되며, 각 값은 보통의 리소스처럼 문자열 데이터로 구성됩니다. 또한 상속을 지원합니다. 이것은 즉, 백은 또 다른 백 으로부터 값들을 상속하여 몇가지만 수정하거나 또 다른 값을 추가할 수 있다는 의미가 되겠습니다.


리소스 종류
리소스 식별자를 구성하는 방법으로서, 드로블 리소스는 드로블 객체를 인스턴스화 하기 위해 사용됩니다. 이것은 색상값이나 문자열 경로를 포함하는 프리미티브 리소스입니다.

일반적인 종류에는
● 문자열 ( 프리미티브 ) ,
● 색상 ( 프리미티브 ) ,
● 레이아웃 ( XML 에셋에 대한 문자열 경로 ) ,
● 스타일 ( UI 속성을 기술하는 Bag 리소스 )

가 있습니다.

또한 표준 리소스 종류인 ' attr ' 도 있는데요, 이것은 Bag 아이템과 XML 속성을 이름짓기 위한 리소스 식별자를 정의합니다.


스타일
Bag 을 포함하는 리소스 입니다. 즉, UI 속성에 대한 하나의 집합을 제공합니다.
예를들어 TextView 에는 텍스트의 크기, 컬러, 정렬 등의 스타일 리소스가 있는 셈이지요. 레이아웃 XML 에서 " style " 속성을 사용하는 Bag 으로 스타일을 결합할 수도 있습니다. 그 style 의 값은 리소스 이름이 됩니다.


스타일 클래스
관련 속성들의 리소스의 집합입니다. 이 데이터는 리소스테이블 내에 위치하진 않습니다.
이것은 소스코드의 상수를 생성하기 위해 사용되며, 스타일 리소스 및 XML 속성을 읽어오게 하는 역할을 해줍니다.

예를들어 안드로이드의 표준 뷰 속성 ( 패딩이나 배경색 등 ) 을 포함하는 ' View ' 스타일 클래스가 있습니다. 이것은 뷰가 전개될 때 뷰는 XML로부터 스타일 리소스 값을 가져오기 위하여 스타일 클래스를 사용하며, 스타일 리소스 값들은 뷰 인스턴스 안으로 로드 되어 버립니다.


설정
설정은 로케일 ( 언어와 국가코드 ) , 스크린의 방향, 해상도 등을 지정하는 역할로써 현재 설정은 리소스 테이블이 로드될 때 어떤 리소스 값을 사용할 것인지 선택할 때 사용됩니다.
즉, 리소스 식별자에 대해 현재 설정에 맞는 값을 읽게 할 수 있게 됩니다.


테마
표준 스타일 리소스로서, 액티비티를 만들 때 Theme.White 또는 Theme.Black 같은 표준 스타일 테마를 선택할 수 있게 해줍니다.

레이아웃 리소스를 전개할 때 위젯에 대한 값 ( 텍스트 색상 등 ) 이 지정되지 않았다면 현재 테마로부터 값을 가져올 것입니다. 필요하다면 테마 속성에서 지정된 값으로 현재 위젯의 값을 지정할 수도 있습니다.


오버레이(Overlay)
리소스의 새로운 집합을 정의하지 않는 리소스 테이블은, 대신에 다른 리소스 테이블에 있는 리소스 값을 대체합니다. 이것은 로드할 때 리소스 데이터에 적용됩니다.

즉, 새로운 설정값을 추가하거나 ( 서비스 로케일을 지정 ) , 기존의 값을 수정하거나 ( 백그라운드 이미지를 표준 배경으로 변경 ) , 리소스 Bag 을 수정하거나 ( Theme.White 스타일릐 폰트 크기 변경 ) 할 수가 있다는 의미입니다. 이것은 사용자가 디바이스의 테마를 선택할 수 있게 하며, 새로운 외관을 사용한 파일을 다운로드 하게 할 수도 있겠습니다.







사진 한장 없는 글.....
끝~~








리소스에 대한 내용은 게속 이어집니다 ㅎ



관련글


반응형

댓글

Designed by JB FACTORY