안드로이드 디버깅하기




광고 한번만 클릭 부탁드립니다^^
위에 냐옹이 말구~ 위에 배너요~^_^/ 


포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject : 안드로이드 디버깅하기

최종수정일 : 2012.05.25


안녕하세요~^^
안드로이드...개발하다가 정말 지쳐서 디버깅을 어떻게 할까 하다 하다 못해
Toast 를 고정적으로 띄워놓고, 값을 변경 시켜버리기로 하였습니다.

결국 Logcat 에서 100개 정도 뜨다가 안뜨는 그런 버그... 찾기도 힘들고 귀찮아서 -_-ㅋ
토스트로 해결을 해보자. 하였습니다.

물론 디버깅하는데 개발환경 및 등등등 에 따라서 저의 디버깅 방법이 맞지 않을 수 있으나,

뭐 저두 저 나름대로 편한대로 한거니깐. 써보시길,

by 퓨림노

글을 작성하겠습니다.
(스크린샷은 찍기 귀찮네요 ㅎㅎㅎㅎ)


1. Toast 를 화면의 고정적으로 띄우도록 하자.


    Handler m_handler = new Handler() {
        public void handleMessage( Message msg ){
            if( msg.what == 0 ){
                Toast.makeText( m_context, "Init Orientation Mode", Toast.LENGTH_SHORT).show();
            }
            else if( msg.what == 1 ){
                int angle = (int)msg.arg1;
               
                if( m_Msg == null ){                   
                    //m_Msg = Toast.makeText( m_context, "Angle = " + angle, Toast.LENGTH_SHORT);                   
                    m_Msg = Toast.makeText( m_context, (String)msg.obj, Toast.LENGTH_SHORT);
                }
                else{
                    m_Msg.setGravity(Gravity.BOTTOM | Gravity.RIGHT, 0, 0);                   
                    //m_Msg.setText( "Angle = " + angle );             
                    m_Msg.setText( (String)msg.obj );
                    m_Msg.show();
                }
            }   
        }
    };

Toast 의 return 되는 값을 저장해두고 값이 없어지는지 아닌지 확인을 합니다.

그리고 Toast 의 메시지를 setText() 함수를 사용하여 내용을 변경하도록 합니다.


자세한 설명은 소스가 짧기 때문에 안합니다~^^


            // test Toast Message
            String str = "init : " + (int)SensorInitAzimuth + ", Present : " + (int)SensorPresentAzimuth + ", diff : " + diff;
            Message msg = Message.obtain();
            msg.what = 1;
            msg.arg1 = (int)angle[2];//(int)(-presentImgAzimuth);
            msg.obj = (Object)str;
            m_handler.sendMessage(msg);

토스트내용 출력이야 당연히 아실꺼구...


그냥 그렇게 하면 됩니다.


댓글

Designed by JB FACTORY