마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

핸들러 안에 string 사용하기 질문

0 추천
    private final Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {

            switch (msg.what) {
            case MESSAGE_STATE_CHANGE:
                if(D) Log.i(TAG, "MESSAGE_STATE_CHANGE: " + msg.arg1);
                switch (msg.arg1) {
                case BluetoothChatService.STATE_CONNECTED:
                    setStatus(getString(R.string.title_connected_to, mConnectedDeviceName));
//                    mConversationArrayAdapter.clear();
                    break;
                case BluetoothChatService.STATE_CONNECTING:
                    setStatus(R.string.title_connecting);
                    break;
                case BluetoothChatService.STATE_LISTEN:
                case BluetoothChatService.STATE_NONE:
                    setStatus(R.string.title_not_connected);
                    break;

                }
                break;
               
            case MESSAGE_READ:
             Bundle bundle = msg.getData();
             String str0 = bundle.getString("qwe");
             String str1 = str0.substring(0, 4);
             String str2 = str0.substring(5, 8);
             String str3 = str0.substring(9, 13);
             String str4 = str0.substring(14, 19);
             
             textview1.setText(str1.concat(" ℃"));
             textview2.setText(str2.concat(" bpm"));
             textview3.setText(str3.concat(" 걸음"));
             textview4.setText(str4.concat(" cal"));


             
                break;


             
            case MESSAGE_DEVICE_NAME:
                // save the connected device's name
                mConnectedDeviceName = msg.getData().getString(DEVICE_NAME);
                Toast.makeText(getApplicationContext(), 
                               mConnectedDeviceName + "와 연결되었습니다", Toast.LENGTH_SHORT).show();
                break;
                
            case MESSAGE_TOAST:
                Toast.makeText(getApplicationContext(), msg.getData().getString(TOAST),
                               Toast.LENGTH_SHORT).show();
                break;
                                              
            }          
        }
    };

여기 안에있는 str1, str2 같은 스트링 값을 핸들러 밖에서 사용하려면 어떠케 해야되죠?

notification 내용으로 쓰려고 하는데 안에서는 안되서 밖에서 하려고 합니다.

기초도 모르는 상태에서 앱 만들려니 힘드네요..

익명사용자 님이 2014년 9월 16일 질문

1개의 답변

0 추천
기초도 모르신다고 하시니 우선 지역변수의 개념을 한번 찾아보시면 좋을 것 같아요~

 

핸들러 영역 { } 바깥에서 선언하고 사용하시면 됩니다.

 

예를 들면,

 

Class A

{

        String str1, str2;

 

        Handler함수()

        {

 

        }

}
초보개발자ㅠ (33,870 포인트) 님이 2014년 9월 16일 답변
이렇게 간단한걸로 그렇게 고민하다니ㅋ
지금 보니까 당연한거였네요 감사합니다
...