You will be fine

<Android> 10. Thread, Toast

by BFine
반응형

1. Thread

  • 프로세스 : 현재 실행되고 있는 프로그램을 의미

  • 쓰레드 : 하나의 프로세스 안에 실행되는 흐름(작업)을 의미, 여러 흐름(작업)을 갖는 것은 다중쓰레드

  • 메인쓰레드 : 실행 시 시스템에서 처음 생성되는 쓰레드(UI를 처리), 컴포넌트들은 이 안에서 실행

  • 핸들러 : 메인쓰레드와 쓰레드가 UI 수정을 동기화 할 때 메인쓰레드에서 생성하는 것

final Handler handler=new Handler() {
@Override
public void handleMessage(Message msg) {
textView.setText(msg.getData().getString("msg"));
}
};

Runnable runnable= new Runnable() {
@Override
public void run(){
Message msg=handler.obtainMessage();
Bundle bundle=new Bundle();
bundle.putString("msg","핸들러로 전달");
msg.setData(bundle);
handler.sendMessage(msg);
}
};

Thread mt=new Thread(runnable);
mt.start();// 일반쓰레드에서 UI변경

실행



2. Toast

  • 간단한 메세지를 보여줄 때 사용, ex) 오류, 입력하세요, 진행사항 등 

/*Toast.makeText(getApplicationContext(),
"World!",
Toast.LENGTH_SHORT).show();// 단순 출력*/
Toast toast=Toast.makeText(getApplicationContext(),
"World",Toast.LENGTH_LONG);
toast.setText("Hello Word");// 변경가능
toast.setGravity(Gravity.CENTER,100,100);
//Gravity x좌표 y좌표 설정
toast.setDuration(Toast.LENGTH_SHORT);
// 생명주기
toast.show();
// 화면 띄우기

  • 다른 Layout을 이용하여 Toast 메세지 모양 변경이 가능하다

LayoutInflater inflater=getLayoutInflater();
View view =inflater.inflate(R.layout.activity_main2,
(ViewGroup)findViewById(R.id.test));
//main2를 객체화
Toast toast=new Toast(getApplicationContext());
//현재 화면에 toast 생성
toast.setView(view);
//객체화한 view를 지정
toast.show();

실행



반응형

블로그의 정보

57개월 BackEnd

BFine

활동하기