반응형
안녕하세요 여러분~
오늘은 안드로이드 스튜디오를 사용할때 아주 기초적인 부분을 알려드리려고 해요~
안드로이드 스튜디오를 처음 하는 분들은 앱 제작중, 현재 액티비티의 변수를 다른 액티비티에도 사용해야 하는 경우가 대부분 발생할꺼에요.
이때 사용하는 클래스를 알려드리려고해요.
일단 안드로이드 스튜디오는 클로벌 변수가 있는지 모르겠지만, 잘쓰지 않아요.
대신에 extends Application{} 클래스를 만들고 여기에 글로벌로 사용될 변수들을 저장해서 불러온답니다.
자 그럼 바로 예시코드 갈게요
// 클래스를 생성합니다.
//extend Application을 아래저럼 익스텐스 해줍니다.
// 이 Applicaion이 어플리케이션 전체에 사용한다는 뜻입니다.
// menifest.xml 에 추가해줘야 합니다. 예시또한 밑에 드릴게요.
// 주의할점은 한 프로젝트에 Application 클래스는 한개만 만들 수 있으니 이곳에 글로번 변수들을 잘 선언하세요.
public class FlagClass extends Application {
private static String version; //글로벌로 사용할 변수를 선언합니다.
@Override //오버라이딩 해서 onCreate()를 만들어 줍니다. 여느 클래스와 똑같이요 ㅎㅎ
public void onCreate() {
super.onCreate();
version = "";
}
@Override //이건 선택사항인데 일단 추가해 줍니다. 데이터 공간 낭비를 방지하기 위해 추가하고 나중에 필요하면 선언하세요.
public void onTerminate() {
super.onTerminate();
instance = null;
}
// 초기화 함수입니다. 처음 선언을 해주면 안정적으로 초기화 되서 변수가 안정적입니다.
public void Init() {
version = "";
}
//클래스를 선언한 뒤, 다른 액티비티에서 사용될 함수 입니다. 이건 verdiosn이라는 글로벌 변수에 flag값을 넣게다는 뜻입니다.
//다른 액티비티에서 선언 방법은 밑에 써드릴게요
public void setVersion(String flag){this.version = flag;}
//이것은 저장된 값을 불러오는 함수입니다ㅏ.
public String getVersion(){return version;}
}
//끝 이렇게 예시로 클래스를 만들어 줍니다.
자 이렇게 클래스를 만들었으면 이제 어떻게 사용하는지 알아야 겠죠??
다른 액티비티에서 사용 방법의 예시 코드 바로 뿌릴게요.
//다른 액티비티 클래스
public class SplashActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
//여기까지 기본 액티비티 클래스 코드죠?
//아까 만들 클래스를 이렇게 선언해 줍니다. 선언된 클래스의 변수 이름은 각자 다르겠죠?
final FlagClass flag = (FlagClass)getApplication();
flag.Init(); //이렇게 초기화를 안정적으로해줍니다.
flag.setVersion("글로벌 변수 세팅"); // 이렇게 하면 FlagClass 안에 version 변수에 값이 들어갑니다.
//이렇게 저장된 변수값은 다른 액티비티에서도 FlagClass 클래스를 선언하여 같은방법으로 사용 가능합니다.
System.out.print(flag.getVersion()); // 이렇게 하면 FlagClass안에 version 변수안에 값을 불러옵니다.
//다른 액티비티에서도 FlagClass 클래스를 선언하여 같은방법으로 사용 가능합니다.
//다른 액티비티에서 물론 수정도 가능합니다.~
}
}
이제 가장 중요한 menifest.xml에 선언하는 방법을 알려드릴게요.
//menifest.xml 맨 위쪽 부분에
<application //이부분에
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:name=".FlagClass" //이렇게 선언을 해줍니다.
//여기에 선언을 해주기 때문에 한 프로젝트에 하나의 Application 클래스만 사용가능합니다.
android:usesCleartextTraffic="true">
이제 액티비티간 데이터 전송 방법을 이해하셨나요~?
그럼 폭풍 개발 하시면 될것 같습니다~~
많이 많이 개발해서 좋은 세상 만들어요~
안녕
질문은 댓글로.
반응형
'IT기술(코딩)' 카테고리의 다른 글
안드로이드 스튜디오 구글 인앱결제, 정기결제 소스코드(자바,java) (0) | 2021.08.02 |
---|---|
안드로이드 스튜디오 슬라이드 뷰 만들기 [java][자바] 스와이프, 페이지뷰 (0) | 2021.07.27 |
안드로이드 스튜디오 네이버 맵 다중 마커(마커 여러개)JAVA버전 (0) | 2021.07.19 |
안드로이드 스튜디오 카카오톡 로그인 연동 API [JAVA ] (0) | 2021.07.18 |
resolve m1 chip Mac react native run iOS error pod install [m1칩 맥 react native run iOS 에러 해결 pod install] (0) | 2021.02.04 |