Android 애플리케이션 리소스 개요

작성자 정보: CSDN 콘텐츠 파트너이자 기술 전문가로서 처음부터 수천만 명의 일일 사용자를 대상으로 APP를 구축했습니다.
Java 백엔드, 모바일 개발, 비즈니스 실현, 인공 지능 등을 전문으로 하는 다양한 분야의 독창적인 기사 시리즈를 공유하는 데 중점을 둡니다. 모두가 저를 지원해 주기를 바랍니다.

여기에 이미지 설명을 삽입하세요.

1. 소개

우리는 계속해서 요약하고 연구하며Android 기본 지식, 과거를 복습하고 새로운 것을 배웁니다.

리소스는 비트맵, 레이아웃 정의, 인터페이스 문자열, 애니메이션 설명 등과 같이 코드에서 사용되는 추가 파일 및 정적 콘텐츠를 참조합니다.

이 문서에서는 Android 프로젝트에서 리소스를 그룹화하는 방법을 설명합니다. 또한 특정 장치 구성에 대한 대체 리소스를 제공하는 방법과 애플리케이션 코드 또는 기타 XML 파일에서 이러한 리소스에 액세스하는 방법도 설명합니다.

2. 개요

프로젝트에는 모든 리소스가 포함된 res 폴더가 있습니다. 이 폴더 아래에는 각 리소스 유형에 따라 새 디렉터리를 생성합니다. 다양한 유형의 리소스를 저장합니다.

3. 자원 유형 그룹화

자원의 유형에 따라 대략 다음과 같은 유형으로 나눌 수 있습니다.

목차 리소스 유형
애니메이터 속성 애니메이션을 정의하는 데 사용되는 XML 파일입니다.
모션 트윈을 정의하는 데 사용되는 XML 파일입니다. 속성 애니메이션도 이 디렉터리에 저장할 수 있지만 두 유형을 구별하기 위해 속성 애니메이션에는 animator/ 디렉터리가 선호됩니다.
색상 색상 상태 목록을 정의하는 XML 파일입니다. 자세한 내용은 ColorStateList를 참조하세요.
드로어블 다음과 같은 드로어블 리소스 하위 유형으로 컴파일된 비트맵 파일(PNG, .9.png, JPG 또는 GIF) 또는 XML 파일
밉맵 다양한 런처 아이콘 밀도를 위한 드로어블 파일. Mipmap 폴더를 사용하여 실행기 아이콘을 관리하는 방법에 대한 자세한 내용은 Mipmap 디렉터리에 앱 아이콘 배치를 참조하세요.
공들여 나열한 것 인터페이스 레이아웃을 정의하는 데 사용되는 XML 파일입니다. 자세한 내용은
메뉴 옵션 메뉴, 상황에 맞는 메뉴, 하위 메뉴 등 애플리케이션 메뉴를 정의하는 XML 파일입니다.
날것의 원래 형식으로 저장해야 하는 모든 파일입니다. 원시 InputStream을 사용하여 이러한 리소스를 열려면 리소스 ID(즉, R.raw.filename)를 사용하여 Resources.openRawResource()를 호출하세요. 그러나 원본 파일 이름과 파일 계층 구조에 액세스하려면 자산 디렉터리(res/raw가 아닌)에 자산을 저장하는 것이 좋습니다. 자산의 파일에는 리소스 ID가 없으므로 AssetManager를 통해서만 읽을 수 있습니다.
가치 문자열, 정수, 색상 등 간단한 값이 포함된 XML 파일입니다. 값 디렉터리의 파일은 여러 리소스를 설명할 수 있습니다. 이 디렉터리에 있는 파일의 경우 요소의 각 하위 요소는 리소스를 정의합니다. 예를 들어 요소는 R.string 리소스를 생성하고 요소는 R.color 리소스를 생성합니다.
xml Resources.getXML()을 호출하여 런타임에 읽을 수 있는 임의의 XML 파일입니다. 다양한 XML 구성 파일(예: 검색 구성)을 여기에 저장해야 합니다.
폰트 확장자(예: TTF, OTF, TTC)가 있는 글꼴 파일 또는 요소가 포함된 XML 파일입니다. 글꼴을 리소스로 사용하는 방법에 대한 자세한 내용은 글꼴을 XML 리소스로 추가를 참조하세요.

4. 한정자 이름 테이블 구성

다른 장치에 적응해야 하는 경우 리소스도 여러 세트에 적응해야 합니다. 이름 지정 형식은 다음과 같습니다.

<resources_name>-<qualifier>

<resources_name> 是相应默认资源的目录名称(如上面表格 中所定义 values , drawable)。
<qualifier> 是指定要使用这些资源的各个配置的名称(如表 下表 中所定义),可以追加多个 <qualifier>,并使用短划线进行分隔。

drawable-hdpi
drawable-night-hdpi
한정자 값 구성 지침
MCC와 MNC 모바일 국가 코드(MCC). 선택적으로 장치 SIM 카드의 모바일 네트워크 코드(MNC)가 뒤따릅니다. 예: mcc310, mcc310-mnc004, mcc208-mnc00
en, fr 등 앱 현지화를 위한 언어, 스크립트(선택 사항) 및 지역(선택 사항)
ldrtl、ldltr 애플리케이션의 레이아웃 방향인 ldrtl은 "오른쪽에서 왼쪽으로의 레이아웃 방향"을 나타냅니다. ldltr은 "레이아웃 방향 왼쪽에서 오른쪽"(기본 암시적 값)을 의미합니다.
SWDP 최소 너비, 애플리케이션에 사용 가능한 화면 영역의 가장 짧은 크기(예: sw320dp, sw600dp, sw720dp 등)
wdp、hdp 사용 가능한 너비 및 높이, 리소스에서 사용하는 사용 가능한 최소 화면 너비 또는 높이(dp 단위, 값으로 정의)를 지정합니다(예: w720dp, w1024dp, h720dp, h1024dp 등).
소형、보통、대형、특대형 화면 크기
길다, 길지 않다 화면 종횡비
둥글다, 둥글지 않다 둥근 스크린
widecg、nowidecg 넓은 색 영역
하이드라, 로우드라 높은 동적 범위(HDR)
포틀랜드 화상 설명회
자동차, 책상, 텔레비전, 가전제품, 시계, VR헤드셋 디스플레이가 없는 자동차, 데스크탑, TV, 시계, 가상 현실 헤드셋과 같은 인터페이스 모드
밤、밤새 야간 모드
ldpi、mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi、nodpi、tvdpi、anydpi、nnndpi 화면 픽셀 밀도(dpi)
노터치、손가락 터치스크린 유형(예: 기기에 터치스크린이 없거나 사용자가 손가락을 사용하여 직접 상호작용할 수 있도록 설계된 터치스크린이 있음)
키노출, 키숨김, 키소프트 키보드 가용성
노키, 쿼티, 12키 주요 텍스트 입력 방법
navexposed, navhidden 탐색 키 가용성
v3, v4, v7 등 플랫폼 버전(API 수준), 기기에서 지원하는 API 수준입니다. 예를 들어 v1은 API 레벨 1(Android 1.0 이상을 실행하는 기기)에 해당하고, v4는 API 레벨 4(Android 1.6 이상을 실행하는 기기)에 해당합니다. 이러한 값에 대한 자세한 내용은 Android API 수준 문서를 참조하세요.
- ldpi:低密度屏幕;约为 120 dpi。
- mdpi:中密度(传统 HVGA)屏幕;约为 160 dpi。
- hdpi:高密度屏幕;约为 240 dpi。
- xhdpi:超高密度屏幕;约为 320 dpi。此项为 API 级别 8 中的新增配置。
- xxhdpi:超超高密度屏幕;约为 480 dpi。此项为 API 级别 16 中的新增配置。
- xxxhdpi:超超超高密度屏幕使用(仅限启动器图标,请参阅支持不同的像素密度);约为 640 dpi。此项为 API 级别 18 中的新增配置。

这六种主要密度之间的缩放比例为 3:4:6:8:12:16(tvdpi 密度忽略不计)。因此,9x9 (ldpi) 位图相当于 12x12 (mdpi)、18x18 (hdpi)、24x24 (xhdpi) 位图,依此类推。

- nodpi:用于您不希望为匹配设备密度而进行缩放的位图资源。
- tvdpi:密度介于 mdpi 和 hdpi 之间的屏幕;约为 213 dpi。这不属于“主要”密度组。它主要用于电视,而大多数应用都不需要它。对于大多数应用而言,提供 mdpi 和 hdpi 资源便已足够,系统将视情况对其进行缩放。此项为 API 级别 13 中的新增配置。
- anydpi:适合所有屏幕密度,其优先级高于其他限定符。这对于矢量可绘制对象非常有用。此项为 API 级别 21 中的新增配置。
- nnndpi:用于表示非标准密度,其中 nnn 是正整数屏幕密度。大多数情况下不使用此限定符。使用标准密度存储分区,可显著减少因支持市场上各种设备屏幕密度而产生的开销。

5. 한정자 명명 규칙

구성 한정자 이름을 사용할 때 따라야 할 몇 가지 규칙은 다음과 같습니다.

  • 단일 리소스 세트에 대해 대시로 구분하여 여러 한정자를 지정할 수 있습니다. 예를 들어 drawable-en-rUS-land는 가로 방향 및 미국 영어를 사용하는 기기에서 작동합니다.
  • 이러한 한정자는 위 표에 나열된 순서를 따라야 합니다.
错误:drawable-hdpi-port
正确:drawable-port-hdpi
  • 대체 리소스 디렉터리는 중첩되어서는 안 됩니다. 예를 들어, 디렉토리는 res/drawable/drawable-en/일 수 없습니다.
  • 값은 대소문자를 구분하지 않습니다.
  • 한정자 유형당 하나의 값만 지원됩니다.
错误:drawable-es-fr
正确:drawable-es 和 drawable-fr

구글 웹사이트

6. 추천 도서

자바 칼럼

SQL 열

데이터 구조 및 알고리즘

안드로이드 학습 칼럼

ddd

Supongo que te gusta

Origin blog.csdn.net/fumeidonga/article/details/134758263
Recomendado
Clasificación