주 응용 프로그램 클래스에서 사용자 지정 클래스를 만듭니다. 내 mainAccount
라고 말해 보겠습니다.모든 활동에 사용할 전역 변수 선언
이제 저는 많은 활동을하고 있습니다. 나는 모든 활동에서 변수 mainAccount
을 원한다. 어떻게 할 수 있을까? 한 가지 방법은 의도를 넣고 각 활동에 전달하는 것입니다. 글로벌 etC 만들기와 같은 더 좋은 방법이 있습니까?
최고 감사합니다.
주 응용 프로그램 클래스에서 사용자 지정 클래스를 만듭니다. 내 mainAccount
라고 말해 보겠습니다.모든 활동에 사용할 전역 변수 선언
이제 저는 많은 활동을하고 있습니다. 나는 모든 활동에서 변수 mainAccount
을 원한다. 어떻게 할 수 있을까? 한 가지 방법은 의도를 넣고 각 활동에 전달하는 것입니다. 글로벌 etC 만들기와 같은 더 좋은 방법이 있습니까?
최고 감사합니다.
당신이 환경 설정을 사용하는 방법에 대한 생각 했습니까? 자세한 정보를 얻으려면 훌륭한 리소스가 필요합니다. http://mobile.tutsplus.com/tutorials/android/android-application-preferences/
또는 당신은 http://www.helloandroid.com/category/topics-covered/global-variables
찾아보기 Singleton classes. 기본적으로, 당신은 이런 것을 원합니다.
public class Singleton {
private static Singleton instance = null;
protected Singleton() {
// Exists only to defeat instantiation.
}
public static Singleton getInstance() {
if(instance == null) {
instance = new Singleton();
}
return instance;
}
}
그런 다음 클래스에 액세스해야하는 모든 클래스에 대한 전화 :
는Singleton var=Singleton.getInstance();
이 전역 변수의 부정적인 결과의 대부분을하지 않고, 본질적으로 세계입니다. 그것은 그 클래스의 하나의 객체 만 존재할 수 있지만 그것을 필요로하는 모든 사람들이 접근 할 수 있도록합니다.
액티비티에서 액세스하려는 변수와 메소드로 초록 클래스를 정의하면됩니다. 예를 들어
:
public abstract class BaseActivity extends Activity
{
//static variables
// static methods
}
지금 당신의 모든 활동이 BaseActivity 클래스를 확장 :
public class HelloAndroid extends BaseActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
또는 의해 demostrated로 응용 프로그램을 확장하는 클래스를 만들 수 있습니다 인터페이스 상속 또는 구현).
싱글 클래스 :
public class MySingletonClass {
private static MySingletonClass instance;
public static MySingletonClass getInstance() {
if (instance == null)
instance = new MySingletonClass();
return instance;
}
private MySingletonClass() {
}
private String val;
public String getValue() {
return val;
}
public void setValue(String value) {
this.val = value;
}
}
문자열의 = MySingletonClass.getInstance() getValue();.
정적 클래스 :
public class MyStaticClass {
public static String value;
}
문자열의 = MyStaticClass.value;
hmmm. 고마워, 그걸 찾고 있었어. –
문제 없음. 그 첫 번째 링크는 또한 많은 다른 것들에 대한 훌륭한 정보를 가지고 있습니다. – mpeerman