2017년 6월 19일 월요일

[Android] 어디서나 Context 가져오기


Android 프로그래밍을 하다보면 Context를 요구하는 API들을 많이 접하게 됩니다.

원칙적으로는 현재 루틴을 수행하는 owner component의 Context를 사용하는 것이 좋으나

다음과 같이 Application class를 사용하여 간단히 global Context를 어디에서나 사용할 수 있는 방법도 있습니다.

Android platform에서 singleton을 보장해주는 Application class를 이용하면 됩니다.

1. ApplicationClass.java 작성

// ApplicationClass.java

import android.app.Application;
import android.content.Context;

public class ApplicationClass extends Application {
    private static Context mContext;

    public ApplicationClass() {
        super();

        mContext = this;
    }

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


2. AndroidManifest.xml에 등록


<Appilcation... android:name=".ApplicationClass" ... />



    
        
            
                
                
            
        
    


3. 사용법


Applicatoin 어디에서나...
    // 사용법

    Context globalContext = ApplicationClass.getContext();


댓글 없음:

댓글 쓰기