안드로이드 이야기 (2010/04/13)
무언가 할 얘기가 많았지만 당장 생각나는 내용만 정리한다.
1) 인텔리제이(IntelliJ)로 이전을 성공했다.
기본 키맵을 Max OS X 10.5+로 바꾸니 이클립스에 적응돼서 어색하던 부분도 대부분 해결된다. 맥에서 익숙한 단축키들이 대부분 적용되기에 쾌적하게 이용할 수 있다. Eclipse용 키맵도 제공하지만, 윈도 단축키를 기반으로 단축키가 설정되어 있어서 맥 사용자는 오히려 불편하다.
안드로이드 개발에는 인텔리제이를 강력 추천한다.
2) 비율을 정확히 고정시키고 싶을 때는
자체 테이블을 그리거나 할 때 TableLayout을 사용하면 알아서 늘어나고 줄어드는 컬럼 때문에 정신건강에 좋지 않다. 이럴 때는 LinearLayout을 이용해서 android:layout_width를 0px로 변경하고, weight로 비율을 고정하면 늘어나고 줄어들지 않게 고정시킬 수 있다. 정확히 나뉜 컬럼이 필요하거나 할 때는 이 방법을 이용한다. 단, 이렇게 나뉘는 영역에는 당연하겠지만 margin이 포함되지 않으니 margin을 함부로 사용하면 어그러진다. padding을 잘 활용해야 한다.
- android:layout_width="0px"
android:layout_height="wrap_content" - android:layout_weight="0.25"
3) Footer를 삽입하는 가장 효과적인 방법은?
RelativeLayout으로 부모와의 관계를 지정하면 된다. 화면의 상단 부분은 무슨 레이아웃을 써도 고정시키기 어렵지 않은데, 아래부분은 LinearLayout 등으로 고정시키기 쉽지 않고 그리 권장할 만한 방식은 아니다. RelativeLayout을 절대값을 이용하는 방식과 비슷하게 생각하고 무시하면 안 된다. 개인적으로는 LinearLayout과 함께 가장 많이 사용한다.
- android:id="@+id/footer"
- android:layout_alignParentBottom="true"
4) Style의 활용
XML 코드에서는 아무래도 복사하고 붙여넣는 행위에 대한 죄책감이 적은데, 이것도 분명 코드의 중복이다. 그리고 HTML 엘리먼트에 스타일 속성들 넣어서 사용하면 저질스러운 행동이라고 알면서, 유달리 XML에 관대하다. 안드로이드의 XML 레이아웃은 HTML과 유사해서 CSS로 스타일을 정의하듯이 Style 파일로 관련 스타일을 관리할 수 있다.
사실 XML에 스타일 바로 정의해서 사용하는 경우도 잦긴하다. 그래도 반복적으로 사용하는 것들은 추출해서 사용하자.
5) 컬렉션에 큰 자료구조 넣지 말자
모토로이나 넥서스원 급의 기기에서 아무런 문제가 없다고 해서 문제가 없는 게 아니다. 당장 에뮬레이터를 띄워서 큰 컬렉션을 사용하는 부분을 돌려보면 Out of Memory로 뻗어버리는 경우가 잦다. 모바일 기기에서 메모리에 큰 자료구조를 잡아서 사용하는 방식자체가 문제지만 자바에서 습관적으로 사용하던 방식대로 사용하면 안 된다.
Comments (0)