>  기사  >  Java  >  Android의 정적 컨텍스트에서 문자열 리소스에 액세스하는 방법은 무엇입니까?

Android의 정적 컨텍스트에서 문자열 리소스에 액세스하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-12 00:31:03362검색

How to Access String Resources from a Static Context in Android?

정적 컨텍스트에서 리소스 콘텐츠 액세스

특정 시나리오에서는 위젯을 생성하기 전에 XML 파일에서 문자열 리소스에 액세스해야 합니다. 중요한 초기화를 수행합니다. 그러나 활동의 활성 인스턴스가 없으면 활동 객체에서 getResources()를 호출하는 기존 메서드를 사용할 수 없게 됩니다.

해결책

이 문제를 해결하려면 다음 단계를 수행할 수 있습니다.

  1. 애플리케이션 하위 클래스 생성: 공용 클래스 App 확장 애플리케이션과 같은 애플리케이션을 확장하는 하위 클래스 {.
  2. 매니페스트에 애플리케이션 이름 설정: AndroidManifest.xml에서 태그를 사용하여 새 클래스를 참조합니다. 예: android:name=".App".
  3. 컨텍스트 저장 및 정적 메서드 생성: 애플리케이션 클래스의 onCreate() 메서드에서 다음을 저장합니다. mContext라는 정적 필드에 컨텍스트를 추가하고 이 필드를 반환하는 getContext()라는 정적 메서드를 만듭니다. 이는 다음과 같이 나타납니다:
public class App extends Application{

    private static Context mContext;

    @Override
    public void onCreate() {
        super.onCreate();
        mContext = this;
    }

    public static Context getContext(){
        return mContext;
    }
}

Usage

이제 App.getContext()를 사용하여 컨텍스트에 액세스하고 이후에 다음을 통해 리소스 콘텐츠를 얻을 수 있습니다. getResources()(또는 App.getContext().getResources()). 이 접근 방식을 사용하면 활성 Activity 개체와 관계없이 정적 컨텍스트에서 문자열 리소스에 액세스할 수 있습니다.

위 내용은 Android의 정적 컨텍스트에서 문자열 리소스에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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