>Java >java지도 시간 >`getIdentifier()`를 사용하여 이름으로 Android 리소스를 검색하는 방법은 무엇입니까?

`getIdentifier()`를 사용하여 이름으로 Android 리소스를 검색하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-21 16:56:14781검색

How to Retrieve Android Resources by Name Using `getIdentifier()`?

이름으로 리소스 검색

정수 ID 대신 이름을 사용하여 문자열이나 Drawable과 같은 리소스에 액세스하면 애플리케이션 개발에 더 큰 유연성이 제공됩니다. 이를 달성하기 위해 Resources 클래스의 getIdentifier() 메소드가 사용됩니다.

getIdentifier() 구문은 다음과 같습니다.

int getIdentifier(String name, String defType, String defPackage)

위치:

  • name은 리소스 유형 접두사가 없는 리소스의 이름입니다(예: "myString")
  • defType은 "drawable" 또는 "string"과 같은 리소스 유형입니다.
  • defPackage는 리소스가 정의된 패키지의 이름입니다

예를 들어, "my_image.png":

int drawableResourceId = this.getResources().getIdentifier("my_image", "drawable", this.getPackageName());

마찬가지로 "welcome_text"라는 값에 대한 문자열 리소스 ID를 얻으려면:

int stringResourceId = this.getResources().getIdentifier("welcome_text", "string", this.getPackageName());

이러한 방식으로 리소스 ID를 얻는 것은 다음과 같습니다. 정수 ID를 직접 사용하는 것보다 느립니다. 따라서 리소스 이름이 동적이거나 프로그래밍 방식의 액세스가 필요한 경우 신중하게 사용해야 합니다.

위 내용은 `getIdentifier()`를 사용하여 이름으로 Android 리소스를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.