본문 바로가기

프로그램언어/android & iPhone

[ 안드로이드 ] LogCat 사용법 및 Activity Life Cycle


1. Intro

안드로이드 이론에 조금더 알고 싶은 마음에 인터넷에 돌아 다니면서 정보를 얻고 있습니다.

eclipse을 이용하여 C++ CDT을 이용한 프로그래밍을 많이 사용해봤지만, 실제로 eclipse의 강력한 기능에

또 한번 놀라고 있습니다. 먼저 안드로이드를 개발하면서 그냥 디버깅 또는 로그를 추가하여 어떻게 동작하는지 또는

결과값이 맞는지 확인하는 방법을 모색하하던중 다음과 같은 방법을 통해서 쉽게 알 수 있다는 점에서 만족하고 있습니다.



2. 프로젝트 생성

  1) 프로젝트를 다음과 같이 설정하였습니다.




3. 상속된 Activity을 이용한 동작
 
  1) Activity을 상속받은 클래스에서 다음과 같이 eclipse -> source -> Override/implement Method 을 클릭 후,
    ( 1 ) onDestory()
    ( 2 ) onPause()
    ( 3 ) onRestart()
    ( 4 ) onResume()
    ( 5 ) onStart()
    ( 6 ) onStop()


 
package com.study.lifeCycle;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class ActivityLifeCycleActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Log.d("msg","OnCreate!");
    }

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		Log.d("msg","onDestroy!");
		super.onDestroy();
	}

	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		Log.d("msg","onPause!");
		super.onPause();
	}

	@Override
	protected void onRestart() {
		// TODO Auto-generated method stub
		Log.d("msg","onRestart!");
		super.onRestart();
	}

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		Log.d("msg","onResume!");
		super.onResume();
	}

	@Override
	protected void onStart() {
		// TODO Auto-generated method stub
		Log.d("msg","onStart!");
		super.onStart();
	}

	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		Log.d("msg","onStop!");
		super.onStop();
	}
}



4. LogCat을 이용한 동작 유무

  1) LogCat을 활성화 하기 위해서는 eclipse -> window -> show view -> other -> android -> LogCat

  2) LogCat 사용법
   ㅇ 안드로이드 콘솔 모드로 로그를 확인할 수 없기 때문에 LogCat을 이용하여 로그를 확인하는 방법이 있습니다.
   ㅇ + 표시가 되어 있는 것을 선택하면


  3) Filter Name 은 임의적으로 만드셔도 됩니다.
  4) 주의사항으로 by Log Tag : 에서는 필터를 원하는 태그를 작성해야 됩니다. 위 소스에서 보시면 Log.d("msg", "message") 에서 msg을
      필터하고 있습니다.

  5) source로그 넣기
    ㅇ 로그를 추가하기 위해 추가 코딩을 합니다. 하지만 아래 이미지에서 import정보가 없기 때문에 error가 발생하였습니다.
    ㅇ f2 또는 마우스를 올려 놓으면 해당정보를 얻을 수 있습니다.

  6) 이 상태에서 application 을 실행하게 된다면 다음과 같이 LogCat 에 로그가 찍히는 것을 확인할 수 있습니다.

  7) 에뮬레이터의 경우 실행이 되었다면 어플이 실행이 되는 것을 확인 한 후, esc또는 home을 눌러서 종료시키게 됩니다.

  8) 어플이 종료가 되면 Activity에서 종료되는 함수가 호출이 될 것이고 그 호출에 따라서 LogCat 메시지가 출력되는 것을 확인 할 수 있습니다.



5. 결과

  디버깅이 필요없이 간단한 테스트 또는 출력값은 다음과 같이 활용하여 프로그래밍을 작성한다면 보다 효율적이라 생각이 됩니다.