Android에서 이름으로 리소스 액세스
Android 애플리케이션을 개발할 때 문자열, 드로어블, 레이아웃과 같은 리소스에 액세스해야 하는 경우가 많습니다. 리소스의 정수 ID를 사용하는 것이 일반적이지만 이름으로 액세스하는 것이 선호되는 상황이 있을 수 있습니다.
이름으로 리소스 ID를 얻는 방법
Android 프레임워크는 주어진 리소스의 ID를 검색하는 방법을 제공합니다. name:
int resourceId = this.getResources() .getIdentifier("nameOfResource", "type", this.getPackageName())
여기서:
사용 예
라는 문자열 리소스에 액세스하려면 strings.xml의 "app_name" 파일:
int stringId = this.getResources() .getIdentifier("app_name", "string", this.getPackageName()); String appName = this.getString(stringId);
마찬가지로, 드로어블 폴더에 있는 "image.png"라는 드로어블 리소스에 액세스하려면:
int drawableId = this.getResources() .getIdentifier("image", "drawable", this.getPackageName()); Drawable drawable = this.getDrawable(drawableId);
성능 고려 사항
getIdentifier()를 사용하여 이름으로 리소스에 액세스하는 것은 정수를 사용하는 것에 비해 상대적으로 느리다는 점에 유의하는 것이 중요합니다. 직접 신분증. 따라서 동적 리소스 로딩이 필요한 경우 등 필요한 경우에만 이 방법을 사용하는 것이 좋습니다.
위 내용은 ID 대신 이름으로 Android 리소스에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!