'안드로이드 초보'에 해당되는 글 1건

  1. 2009.08.15 초보는 모를 수도 있는 자투리 팁 (2)

초보는 모를 수도 있는 자투리 팁

|
나도 초보자지만 이제 곧 책펴들고 예제따라하려는 분들을 위한 팁 몇가지...

팁1. 에뮬레이터는 끄지 말고 계속 켜두기
예제 하나 할때마다 에뮬레이터 켰다 껐다 하는 사람이 많은데...사실 누가 미리 말 안해주면 그렇게 할 가능성이 높은게, 나같은 경우만해도 C, JAVA이런거 공부하면서 들여왔던 습관이 그것이라 안드로이드 시작할때도 똑같이 했는데, 영원처럼 느껴지는 에뮬레이터 구동속도때문에 속앓이 많이 했었다. 하지만... 에뮬레이터를 켜두고 프로젝트를 빌드시키면 에뮬레이터에 어플리케이션이 재설치가 되면서 작동이 된다. 고로, 에뮬레이터 한번 켜두면 그 기나긴 에뮬레이터 구동시간을 절약 할 수가 있게된다.

팁2. Life cycle of an Android activity
이것은 반드시 숙지해둬야할 내요이지 싶다. 각 상자들은 상태를 의미하고 화살표 주변의 함수이름들은 각 상태들이 전환되면서 호출되는 함수들을 보여준다. 

팁3. 이클립스 개발시 Log Cat을 살펴보자
코딩을 하다보면 에뮬레이터를 작동시켜보며 버튼이 잘 작동하나 안하나 확인하고플때가 있는데, 그렇다고 간단한 소스 변경해볼려고 디버그모드 전환해가며 브레이크 포인트설정하고 이러는게 상당히 번거롭다. 그럴때 도움이 될만한 팁이다.

1. 이클립스의 개발 시점(perpective)에 Log cat창을 하나 추가..
Window - Show View - Other - Android - Log cat한 뒤 콘솔창 옆에 추가가 된다.


2. 소스에 Log활용하기
여기선 어떤 클래스의 어떤 함수에서 어떠한 이벤트를 처리하는지 표시하는 로그 추가
Sudoku.java
private static final String TAG = "Sudoku"; //Sudoku.class를 위한 택
private static final boolean logFlag = true; //Log가 보고 싶지 않을땐 false,
....

@Override
public void onClick(View v) {
String method_tag = ".onClick();";
// TODO Auto-generated method stub
switch(v.getId()) {
case R.id.about_button :
if (logFlag) Log.d(TAG+method_tag, method_tag+"about_button is clicked");
Intent i = new Intent(this, About.class);
startActivity(i);
break;
case R.id.new_button :
if (logFlag) Log.d(TAG+method_tag, "new_button is clicked");
openNewGameDialog();
break;
case R.id.exit_button :
if (logFlag) Log.d(TAG+method_tag, "exit_button is clicked");
finish();
break;
// more buttons go here (if any)
}
}
이런식으로 적용 시키면 다음과 같은 메시지를 LogCat창에서 볼 수 있을 것이다.


개발중에는 logFlag에 true, false로 메시지를 조절하고 핸드폰에 올릴때는 해당 소스들을 다 빼서 올리면 될 것이다. 아무래도 저런 코드가 남아있는 상태라면 어플리케이션의 용량이나 사용하는 메모리 면에서나 좋을 것은 없을 것이다. 

Trackback 0 And Comment 2
  1. 잡학저장소 2009.08.16 18:40 신고 address edit & del reply

    하앍, 괜찮게 정리해 놧는데

prev | 1 | next