IT_Programming/Android_Java

[펌] 안드로이드 전역 변수 사용하기! (android global variable)

JJun ™ 2012. 3. 6. 02:59

-----------------------------------------------------------------------------------------------

 출처: http://slog2.egloos.com/3896766

-----------------------------------------------------------------------------------------------

 

어플리케이션 전체에서 사용되는 상태값이 있을때 Application Class를 구현해사 사용합니다.

이 클래스는 Activity나 Service와 마찬가지로 Context를 상속하고 있고 있습니다.
Android SDK에서 대부분의 API가 Context를 필요로 하기에 이 클래스는 편리하게 사용될 수
있습니다. 프로세스가 생성되고 소멸될 때 onCreate와 onTerminate가 호출됩니다.

정말 유용한 클래스인데 1.0 근처에서 처음 생겨서 문서화가 잘되어있지는 않는것 같아서
정보란에 적어놓습니다.

먼저 AndroidManifest.xml에서 Activity에서 했던것과 같이 android:name으로 Class를
지정해줍니다.

그리고 Application 클래스를 상속받는 클래스를 생성하고 onCreate와 onTerminate를
Override해서 구현합니다.

 


import android.app.Application;

public class MyApplication extends Application
{

        private int state;

        @Override
        public void onCreate()
        {
              // 전역 변수 초기화
           state = 0;
              super.onCreate();
        }

        @Override
        public void onTerminate()
        {

              super.onTerminate();
        } 

      public void setState(int state)
      {
           this.state = state;
      }

      public int getState()
      {
           return state;
      }

}
 


전역변수를 사용하는법은 Application상속클래스에 변수를 선언하여 onCreate에서 초기화 해주고
get, set 메소드를 생성해놓으면 모든 Activity에서 문제없이 전역 변수로 사용이 가능합니다

 

 MyAppication myApp = (MyApplication)getApplicationContext();
 myApp.setState(5);
 state = myApp.getState();