[Android SDK] Android handle을 이용한 지연처리: postDelayed 등

안드로이드 코딩하다보면 1초후에 동작 같은 기능이 필요할때가 있다.

이럴경우 handle을 사용하면 된다.

 

단순히 1초후에 실행하고, 실행이 끝난후 확인하는 기능

 

	new Handler().postDelayed(new Runnable() {// 1 초 후에 실행
		@Override
		public void run() {
			// 실행할 동작 코딩

			mHandler.sendEmptyMessage(0);	// 실행이 끝난후 알림
		}
	}, 1000);	



	Handler mHandler = new Handler() {
		public void handleMessage(Message msg) {  // 실행이 끝난후 확인 가능
			
		}
	};	

 

3초후에 실행

private Handler mHandler = new Handler();
mHandler.postDelayed(mMyTask, 3000); // 3초후에 실행

private Runnable mMyTask = new Runnable() {
	@Override
	public void run() {
		// 실제 동작
	}
};

 

0.5초 후에 실행하고 실행시 메시지를 전달하며, 실행후 받은 메시지에 따라 처리하는 기능

	new Handler().postDelayed(new Runnable() {// 0.5 초 후에 실행
		@Override
		public void run() {
			// 실행할 동작 코딩
			Message msg1 = mHandler.obtainMessage();  //사용할 핸들러를 이용해서 보낼 메시지 객체 생성
			Bundle b1 = new Bundle();	//메시지를 담을 번들 생성
			b1.putBoolean("END_AUTH", true);	//번들에 메시지 추가
			msg1.setData(b1);	//메세지에 번들을 넣는다.
			mHandler.sendMessage(msg1); 	//메세지를 핸들러로 넘긴다.
		}
	}, 500);	


	Handler mHandler = new Handler() {
		public void handleMessage(Message msg) {  // 실행이 끝난후 확인 가능
        		Bundle bd = msg.getData();
        		if(bd.getBoolean("END_AUTH")){
        			// 메시지를 받고 처리할 부분

        		}
			
		}
	};	

 

참고1.. Thread를 이용한 바로 처리하는 방법

 

 

new Thread(new Runnable() { @Override public void run() { // 로직처리 handler.sendEmptyMessage(0); } }).start(); Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // UI처리 } };

 

참고2.. Timer를 이용한 처리방법

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

new Timer().schedule(new TimerTask() {
    public void run() {
        // UI 및 로직
    }
}, 1000); // 1초후 실행

 

참고3. Async Task를 이용한 바로 처리 방법

 

new AsyncTask() {
    @Override
    protected void onPreExecute() {
        // UI 처리
        super.onPreExecute();
    }

    @Override
    protected Boolean doInBackground(String... params) {
        // 로직 처리
        return true;
    }

    @Override
    protected void onProgressUpdate(Integer... progress) {
        // UI 처리
    }

    @Override
    protected void onPostExecute(Boolean result) {
        // UI 처리
    }

    @Override
    protected void onCancelled() {
        super.onCancelled();
    }
}.execute();

 



출처: http://androi.tistory.com/57 [안드로이 스토리]

 

[출처] https://indienote.tistory.com/135

 

 

 

 

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
133 [Android SDK] [Android] Thread의 interrupt()와 stop() file 졸리운_곰 2024.05.01 188
132 [Android SDK] [Android Studio] 간단하게 일정시간 지연시키는 딜레이주기 Delay 안드로이드 스튜디오 file 졸리운_곰 2024.05.01 104
131 [Android SDK] 동기와 비동기 처리의 이해 및 안드로이드에서의 적용 file 졸리운_곰 2024.05.01 120
130 [Android SDK] [Android] 안드로이드에서 Delay 구현 - Thread 졸리운_곰 2024.05.01 99
129 [Android SDK] How to implement Do nothing for a certain period of time in Android 졸리운_곰 2024.05.01 134
» [Android SDK] Android handle을 이용한 지연처리: postDelayed 등 졸리운_곰 2024.05.01 132
127 [Android SDK] [안드로이드 스튜디오] 로딩창 구현 (ProgressBar) file 졸리운_곰 2024.05.01 126
126 [Android SDK] [Android] 안드로이드 Alert 창 띄우기 file 졸리운_곰 2024.05.01 124
125 [Android SDK] Android thread에서 Toast 호출하기 file 졸리운_곰 2024.05.01 88
124 [Android SDK] runOnUiThread란? (개념과 사용법) file 졸리운_곰 2024.05.01 165
123 [Android SDK] How to enable/disable WiFi from an application? 안드로이드 와이파이 켜고 끄기 java 졸리운_곰 2024.05.01 138
122 [Android SDK] 안드로이드 화면꺼짐 방지 코드 졸리운_곰 2024.05.01 108
121 [android studio] 안드로이드 스튜디오 패키지명 변경 방법 file 졸리운_곰 2024.01.28 130
120 [React Native] 리액트 네이티브 안드로이드 기기 빌드 에러 졸리운_곰 2023.12.17 124
119 [android studio] 안드로이드 앱 내부 배포 시 Play프로텍트에 인증받고 배포하기 file 졸리운_곰 2023.03.23 227
118 [android studio] [Java][Android] 안드로이드 다국어 지원 file 졸리운_곰 2023.03.21 137
117 [android studio] [안드로이드 스튜디오] 다국어 지원 strings.xml 파일 생성 방법 file 졸리운_곰 2023.03.21 220
116 [android studio] 구글 플레이 스토어 등록 어떻게? 2편 - 키스토어 생성과 릴리즈 빌드 하기 file 졸리운_곰 2023.03.21 148
115 [android studio] 구글 플레이 스토어 등록 어떻게? 1편 - 준비해야 할 것들 졸리운_곰 2023.03.21 136
114 [android studio] 웹페이지를 apk 앱으로 | 쉽게 따라하는 웹앱 만들기 file 졸리운_곰 2023.03.21 227
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED