투케이2K

106. (AndroidStudio/android/java) 핸들러 Handler Message what 사용해 로직 별 UI 동적 변경 수행 실시 본문

Android

106. (AndroidStudio/android/java) 핸들러 Handler Message what 사용해 로직 별 UI 동적 변경 수행 실시

투케이2K 2021. 4. 20. 14:17

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

/* =========================== */

/* =========================== */

[소스 코드]

 

//TODO ====== [작업 실행 메소드 호출 부분] ======
getZeroHandlerStart(); //TODO [0] 번 작업 실행 메소드 호출
getOneHandlerStart(); //TODO [1] 번 작업 실행 메소드 호출




//TODO ====== [실시간 [0] 번 핸들러 작업 시작 명령] ======
public void getZeroHandlerStart(){
	Log.d("---","---");
	Log.d("//===========//","================================================");
	Log.d("","\n"+"[A_Handler > getZeroHandlerStart() 메소드 : 실시간 [0] 번 작업 시작]");
	Log.d("//===========//","================================================");
	Log.d("---","---");
	mHandler.sendEmptyMessage(0); //TODO 아래에 있는 [0] 번 handleMessage를 부른다
}




//TODO ====== [실시간 [1] 번 핸들러 작업 시작 명령] ======
public void getOneHandlerStart(){
	Log.d("---","---");
	Log.d("//===========//","================================================");
	Log.d("","\n"+"[A_Handler > getOneHandlerStart() 메소드 : 실시간 [1] 번 작업 시작]");
	Log.d("//===========//","================================================");
	Log.d("---","---");
	mHandler.sendEmptyMessage(1); //TODO 아래에 있는 [1] 번 handleMessage를 부른다
}




//TODO ====== [실시간 핸들러 작업 처리 부분] ======
Handler mHandler = new Handler() {
	public void handleMessage(Message msg) {
		//TODO [0] 번으로 요청이 들어온 경우
		if(msg.what == 0){
			Log.d("---","---");
			Log.w("//===========//","================================================");
			Log.d("","\n"+"[A_Handler > what : [0] 번 이벤트 수행 실시]");
			Log.w("//===========//","================================================");
			Log.d("---","---");

			//TODO 동적 UI 변경 실시
			display_textview.setText("[0] 번 이벤트");
		}
		//TODO [1] 번으로 요청이 들어온 경우
		else if(msg.what == 1){
			Log.d("---","---");
			Log.w("//===========//","================================================");
			Log.d("","\n"+"[A_Handler > what : [1] 번 이벤트 수행 실시]");
			Log.w("//===========//","================================================");
			Log.d("---","---");

			//TODO 동적 UI 변경 실시
			display_textview.setText("[1] 번 이벤트");
		}
		//TODO 알수없는 요청이 들어온 경우
		else{
			Log.d("---","---");
			Log.e("//===========//","================================================");
			Log.d("","\n"+"[A_Handler > what : [X] 번 이벤트 수행 실시]");
			Log.e("//===========//","================================================");
			Log.d("---","---");
		}
	}
};

/* =========================== */

/* =========================== */

[결과 출력]

/* =========================== */

반응형
Comments