티스토리 뷰
안드로이드에서 Activity간 상관없는 전역 변수를 만드는 방법을 살펴보자.
크게 두 가지 방법이 있는데,
1. android.app.Application을 이용하는 방법
2. Singleton 디자인 패턴을 이용하는 방법
Activity에서 접근해야한다면 전자를 사용하는 것이 낫고, 그 외의 Provider나 다른 곳에서 접근해야하는 데이터면 후자가 나을것이다. 하지만 후자의 경우 메모리가 모자라면 static 변수들을 메모리에서 제거할 것이다. 이런 경우 onSaveInstatnceState(Bundle) 을 통해서 싱글콘을 따로 저장시켜야하는 추가 작업이 필요하다.
1. Android.app.Application을 이용하는 방법
1) Application을 상속받는 클래스를 만든다. (예제는 ProjectCampusApplication 클래스)
public class ProjectCampusApplication extends Application{
private String data;
public String getData()
{
return data;
}
public void setData(String data)
{
this.data = data;
}
}
2) Android manifest xml파일에 Application을 위의 어플리케이션을 설정한다.
- Manifest editor로 보면 아래의 Application Attributes > Name을 설정하면 된다.
(화면은 ProjectCampusApplication으로 설정한 화면)
(xml을 텍스트로 보면 아래와 같이 된다)
<application android:name="ProjectCampusApplication" .....
3) Activity 안에서 변수를 가져온다.
//set
((ProjectCampusApplication)this.getApplication()).setData("foo");
//get
String s = ((ProjectCampusApplication)this.getApplication()).getData();
2. Singleton 디자인 패턴을 이용하는 방법
1) 싱글톤을 패턴으로 클래스를 만든다.
public class MyGlobals {
private String data;
public String getData()
{
return data;
}
public void setData(String data)
{
this.data = data;
}
private static MyGlobals instance = null;
public static synchronized MyGlobals getInstance(){
if(null == instance){
instance = new MyGlobals();
}
return instance;
}
}
2) 싱글콘 객체 안에서 변수를 가져온다.
//set
MyGlobals.getInstance().setData("foo");
//get
String s = MyGlobals.getInstance().getData();
끝.
- Total
- Today
- Yesterday
- 탐론 17-50
- 삼식이
- Python
- lecture
- java
- GX-10
- TIP
- mini project
- gre
- 서울
- 사진
- 샷
- 안드로이드 앱 개발 기초
- 안드로이드
- 강좌
- HTML5 튜토리얼
- php
- 팁
- HTML5
- Javascript
- gae
- 속깊은 자바스크립트 강좌
- 뽐뿌
- K100D
- 자바스크립트
- Writing
- Android
- c++
- google app engine
- ny-school
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |