'handler'에 해당되는 글 1건

안드로이드 화면 메세지 출력 Toast

안드로이드 앱 개발시에 LOG창도 많이 보지만 아무래도 간단하게 안드로이드 스마트폰에서 바로 확인할수 있는

Toast를 잘 사용하실텐데요. 

Toast를 사용하는 방법에 대해서 정리할께요. 

Toast toast = Toast.makeText(getApplicationContext(), 출력내용, Toast.LENGTH_SHORT); //Toast.LENGTH_LONG 길게
toast.show();

이러면 화면에 출력이 되는데요. 

롱과숏 옵션이 있는데 화면에 나타나는 시간에서 차이가 나요. 

toast를 잘 사용하는것도 좋은데요. 이걸 좀더 응용해서 boolean debug=true;

를 이용하면 좀더 쉽게 사용할수 있어요. 

static public Context ctx;
static public boolean isdebug=true;
public void Toast(String message)
    {
    	if(isdebug)
        {
        	Toast toast = Toast.makeText(global.ctx, message, Toast.LENGTH_LONG);
        	toast.show();
         }
    }

 안드로이드 앱 시작시 ctx에 ctx = this.getApplicationContext(); 컨텍스트를 구해놓구요. 

필요할때마다. Toast("출력내용");으로 호출해서 사용할수 있습니다. 

간혹 쓰레드 안에서 값을 매번찍을땐 확인하기가 힘들지만 간혹가다 찍을경우엔 핸들을 이용하면 됩니다. 

oncreate에서 핸들러 선언해놓기.
global.mHandler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                Toast toast;
                switch (msg.arg1) {
                    case 1: //로그인성공
                        global.login_idx=(String) msg.obj;

                        SharedPreferences.Editor editor = global.sharedPreferences.edit();
                        editor.putString("login_idx",global.login_idx); // key, value를 이용하여 저장하는 형태
                        editor.commit();
                        globle.Toast(global.login_idx);
                        break;

                }
            }
        };


//호출시.
Message message = global.mHandler.obtainMessage();
                message.arg1 = 1;
                message.obj = str;
                global.mHandler.sendMessage(message);

이상 정리를 마칩니다.

블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,