'2010/03'에 해당되는 글 1건

  1. 2010.03.13 Android UI 만들기
mobile/Android2010. 3. 13. 22:24
역시 Event Driven 방식의 코딩을 안한게 티가 나기 시작한다. 

소스 자체는 자바 기반이라 이해하기 쉽고 안드로이드 Activity Life Cycle 자체가 Java AWT 와 거의 같아서 

특별히 코드 이해는 문제가 없는데 하다보니 예전 Swing 만지작 거릴때와 같이 메소드 호출 순서에 따라

NullPointerException 이 나거나 원하는 UI가 안나오는 경우가 많다. 

Android는 기본적으로 UI를 구성할 때 Layout 과 Layout에 속한 콤포넌트의 배치를 XML 기반으로 하게되는데

해당 콤포넌트를 얻어 어떤 일을 시키려 할때 findViewById(id이름)을 이용하여 콤포넌트를 얻어오게 된다.

이런 작업을 보통 onCreate 메소드 안에서 행하게 되는데 예전 UI 만들던 생각을 해서

각종 작업을 다 해주고 마지막에 setContentView() 를 호출했더니 findViewById 해서 얻어온 객체가 null 이 되더라 -_-

결국은 기본적인 모양이.....

protected void onCreate(Bundle instance) {
    super.onCreate(instance);
    setContentView(R.layout.slide);
    ......

    ImageView testView = (View)findViewById(R.id.testV);

    ......
}

위와 같은 상황이 되어야 한다. 

위와 같이 되지 않으면 testView 객체를 사용하려 하는 시점에서 NullPointerException이 발생한다.

아직 안드로이드 내부 Life Cycle과 구조를 정확히 파악하지 못한듯 한다. 이런거에서 에러나는거 보니 -_-

가만히 생각해 보면 당연할듯 한다. setContentView() 가 호출되어야 layout 과 해당 layout에 포함된 콤포넌트를 

리스트업 될테니... 

'mobile > Android' 카테고리의 다른 글

Android UI 만들기  (0) 2010.03.13
Posted by 양군이당

댓글을 달아 주세요