리소스 리소스 : 프로그램 실행에 필요한 데이터. 코드와 분리함으로써 관리 편의성이 증가한다. 애셋 : 크고 원본 그대로 저장된다. 리소스 타입에 따라 저장하는 폴더가 다르다.
리소스 values 폴더에 문자열, 색상, 크기, 스타일, 배열 등의 값을 지정한다. 리소스 파일명은 권장 사항일 뿐이며 XML 엘리먼트의 이름으로 타입을 결정한다.
리소스 컴파일 리소스는 aapt가 컴파일하여 이진 파일 형태 실행 파일에 포함시킨다. 리소스의 모든 ID를 추출하여 R.java 파일을 작성한다. ※ aapt : Android Asset Packaging Tool
리소스 사용 대부분의 메서드는 리소스를 인수로 받는다. - void TextView.setText (int resid) 리소스 사용의 대표적인 예 – 액티비티의 setContentView 코드와 리소스에서 ID를 참조하는 방법
리소스 사용 리소스 정의 예 – res/values/strings.xml - 리소스 파일은 XML 포맷이므로 XML 헤더로 시작하며 <resources> 루트 엘리먼트 안에 개별 리소스가 엘리먼트로 정의됨 리소스 정의 예 – res/values/colors.xml - 문자열의 색상 정의 예제
리소스 사용 리소스 사용 예 - 코드에서 리소스의 정보를 읽어서 속성을 변경
스타일과 테마 여러 가지 속성값의 집합에 대해 이름을 붙여 넣은 것 속성의 집합이라는 면에서 동일하며 정의하는 방법도 같으나 적용 대상이 다름 - 스타일 : 각각의 뷰에 개별적으로 적용, 워드 프로세서의 문단 스타일과 개념상 동일함 - 테마 : 액티비티 단위로 적용, 운영체제가 제공하는 데스크톱 테마와 개념상 동일함 스타일과 테마 예제 – res/values/styles.xml
스타일과 테마 스타일 사용 예제 - 위젯에 스타일을 적용할 때는 style 속성에 @style/명 형식으로 지정
스타일과 테마 테마 사용 예제 - 테마는 좀 더 넓은 범위에 적용 - 작성 방법은 스타일과 동일 - 스타일과 테마 예제 – styles.xml에 추가 - 별도의 파일 생성 없이 styles.xml 예제에 엘리먼트 추가 - themes.xml 등의 파일을 따로 만들어도 상관 없음
스타일과 테마 안드로이드 표준 테마 사용 예제 - 표준 리소스는 항상 [android: 패키지명]이 앞에 붙음 - SystemTheme 액티비티 생성 후 style 레이아웃을 채워넣음 - 매니페스트에 시스템 테마 지정
TextView 문자열 포맷팅, 출력, 입력, 편집에 관련된 모든 기능을 제공하되 필요한 기능만 노출한다.
TextView 기본 속성 입력 문자 제한 - 키패드에 있는 모든 문자를 입력 가능 - digits 속성에 문자열을 지정해 놓으면 문자열 내에 있는 문자들만 입력이 가능함 커서 및 포커스 - 에디트는 포커스를 받으면 커서가 문자열의 제일 끝으로 이동
TextView 기본 속성 자동 링크(autoLink) - 문자열에 포함된 링크를 자동으로 해석하여 링크로 표시하고 클릭 이벤트를 처리하여 링크로 점프함 - 지원 가능한 링크는 아래의 표와 같으며, 연산자로 묶어 여러 가지 링크를 같이 지정 가능
TextView 키보드 관리 에디트의 input Type 속성 - 어떤 종류의 값을 입력받을 것인가를 지정하며 이 값에 따라 키보드에 표시되는 키의 종류가 달라짐
TextView 키보드 관리 입력 타입에 따른 소프트 키보드
TextView 키보드 관리 키보드를 화면에 정렬하는 방법 - 키보드가 열리면서 뷰의 면적이 줄어듬 - 뷰의 일부가 가려지거나 레이아웃에 변화 발생 다음 속성들을 사용하면 변화를 최대한 부드럽게 처리할 수 있음
TextView 키보드 관리 사용 예
나인패치 나인 패치는 아홉 조각의 천을 잘라 하나의 무늬를 만드는 이불 제작 기법의 하나 디지털 이미지에서 원리를 응용한 것 나인 패치 이미지는 PNG 포맷이며 .9.png를 지정하여 일반적인 이미지와 구분 이미지의 원래 모양 외에 바깥쪽에 1픽셀 너비의 투명한 영역을 추가로 가지며, 영역에 검정색 점을 찍어 확장 및 텍스트 배치 영역에 대한 정보를 기록
나인패치 draw9patch 유틸리티 png 이미지를 편집할 수 있는 어떤 그래픽 툴로도 제작 가능 안드로이드 포함된 유틸리티를 사용하는 것이 편리함 - tools 디렉토리 안의 draw9patch.bat 파일 실행 또는 tools/lib 폴더의 draw9patch.jar 파일을 실행 - 자바가 설치된 시스템에서 jar 확장자가 java.exe와 연결되므로 더블 클릭 시 실행 - jar가 다른 프로그램으로 연결되어 있을 시 명령행에서 직접 실행