작업스케쥴링 두번째 postDelayed 메소드를 써보자
첫번째 예제를 단순히 postDelayed로 바꿔본 것 입니다.
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="업로드를 시작하려면 다음 버튼을 누르세요."
/>
<Button
android:id="@+id/upload"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="mOnClick"
android:text="Upload"
/>
</LinearLayout>
자바파일
package com.android.ex96;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Toast;
public class ex96 extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void mOnClick(View v) {
new AlertDialog.Builder(this)
.setTitle("질문")
.setMessage("업로드 하시겠습니까?")
.setPositiveButton("예", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
mHandler.postDelayed(new Runnable() {//이번에는 sendDelayedMessage메소드가 아닌
//posetDelayed메소드로 바꿔보았습니다.
public void run() {
doUpload();
}
},10);//두번째 인자는 10ms겠죠?
}
})
.setNegativeButton("아니오", null)
.show();
}
Handler mHandler = new Handler();//첫번째에서는 handleMessage메소드를 구현했구요
//지금은 아니죠
void doUpload() {
for (int i = 0; i < 20; i++) {
try { Thread.sleep(100); } catch (InterruptedException e) {;}
}
Toast.makeText(this, "업로드를 완료했습니다.", 0).show();
}
}
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 Touch 이벤트 처리하기 (0) | 2013.05.03 |
---|---|
안드로이드 핸들러로 UI처리하고 쓰레드에서 실작업 처리하기 (1) | 2012.08.23 |
안드로이드 쓰레드 진행상황 프로그래스바로 보여주기 (0) | 2012.08.22 |
안드로이드 쓰레드로 ANR(Application not response)방지법 (0) | 2012.08.22 |
안드로이드 작업스케쥴링 sendMessageDelayed를 언제 쓰지 (0) | 2012.08.22 |
안드로이드 루퍼(looper)!? 쓰레드와 관포지교 관계 (3) | 2012.08.22 |
안드로이드 쓰레드 4번째 메시지 풀을 이용하는 방법(obtain 메소드) (0) | 2012.08.21 |
안드로이드 쓰레드 3번째 쓰레드를 구현하는 클래스와 메인 클래스를 따로 만들어서 처리해보자 (0) | 2012.08.21 |