Sponsored By
















 

 

핸들러(쓰레드)에 관한 방법임. message를 이용해서 send하는 방법은 자바내용 참조.

 

 

 

 

 

 

 

00. 버튼을 만들어준다.







01. 텍스트뷰를 만들어준다.







02. 순서는 상관없지만 핸들러에 빨간줄이 뜨면 ALT+ENT를 눌러서 OS로 설정.







03. 코드작성.

package com.example.joey.myhandler;

import android.os.Bundle;

import android.os.Handler;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

 

public class MainActivity extends AppCompatActivity {

 

    TextView textView;

 

    Handler handler = new Handler();

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

 

        textView = (TextView) findViewById(R.id.textView);

 

        Button button01 = (Button) findViewById(R.id.button);    //버튼찾기

        button01.setOnClickListener(new View.OnClickListener() {  //버튼찾아 기능부여

            @Override

            public void onClick(View v) {

                RequestThread thread = new RequestThread();  //새로운 쓰레드객체만듬

                thread.start();    //쓰레드 시작

            }

        });

    }

 

    class RequestThread extends Thread {

        public void run() {

            for (int i = 0; i < 100; i++) {

                println("#" + i + " : 호출됨.");

                try {

                    Thread.sleep(500);  //0.5초 지연

                } catch (Exception e) {

                    e.printStackTrace();

                }

            }

        }

 

        public void println(final String data) {

            handler.post(new Runnable() {    //post로 던져줌

                @Override

                public void run() {

                    textView.setText(data);     

                }

            });

        }

    }

}







04. 실행시킨다.







05. 버튼을 눌러 정상작동하는지 확인한다.







06. 정상작동을 확인 할 수 있다.

 

 

 

 

 

(※ 왜인지는 모르겠지만 쓰레드 슬립 시킬때 Try-Catch를 안쓰면 에러가 뜨게된다.)

 

 

 

 

 



Sponsored By















+ Recent posts