'안드로이드'에 해당되는 글 4건

  1. 2010/04/13 안드로이드 이야기 (2010/04/13)
  2. 2010/03/22 안드로이드 이야기 (2010-03-22)
  3. 2010/01/03 이클립스에서 안드로이드 소스 코드 보기
  4. 2009/12/06 안드로이드 HTC G1 구입

안드로이드 이야기 (2010/04/13)

무언가 할 얘기가 많았지만 당장 생각나는 내용만 정리한다.

 

1) 인텔리제이(IntelliJ)로 이전하는 데 성공했다.

기본 키맵을 Max OS X 10.5+로 바꾸니 이클립스에 적응돼서 어색하던 부분도 대부분 해결된다. 맥에서 익숙한 단축키들이 대부분 적용되기에 쾌적하게 이용할 수 있다. Eclipse용 키맵도 제공하지만, 윈도 단축키를 기반으로 단축키가 설정되어 있어서 맥 사용자는 오히려 불편하다.

 안드로이드 개발에는 인텔리제이를 강력 추천한다.

 

2) 비율을 정확히 고정시키고 싶을 때는

자체 테이블을 그리거나 할 때 TableLayout을 사용하면 알아서 늘어나고 줄어드는 컬럼 때문에 정신건강에 좋지 않다. 이럴 때는 LinearLayout을 이용해서 android:layout_width를 0px로 변경하고, weight로 비율을 고정하면 늘어나고 줄어들지 않게 고정시킬 수 있다. 정확히 나뉜 컬럼이 필요하거나 할 때는 이 방법을 이용한다. 단, 이렇게 나뉘는 영역에는 당연하겠지만 margin이 포함되지 않으니 margin을 함부로 사용하면 어그러진다. padding을 잘 활용해야 한다.

 

  1. android:layout_width="0px"
    android:layout_height="wrap_content"
  2. android:layout_weight="0.25"

 

3) Footer를 삽입하는 가장 효과적인 방법은?

RelativeLayout으로 부모와의 관계를 지정하면 된다. 화면의 상단 부분은 무슨 레이아웃을 써도 고정시키기 어렵지 않은데, 아래부분은 LinearLayout 등으로 고정시키기 쉽지 않고 그리 권장할 만한 방식은 아니다. RelativeLayout을 절대값을 이용하는 방식과 비슷하게 생각하고 무시하면 안 된다. 개인적으로는 LinearLayout과 함께 가장 많이 사용한다.

  1. android:id="@+id/footer"
  2. android:layout_alignParentBottom="true"

 

4) Style의 활용

XML 코드에서는 아무래도 복사하고 붙여넣는 행위에 대한 죄책감이 적은데, 이것도 분명 코드의 중복이다. 그리고 HTML 엘리먼트에 스타일 속성들 넣어서 사용하면 저질스러운 행동이라고 알면서, 유달리 XML에 관대하다. 안드로이드의 XML 레이아웃은 HTML과 유사해서 CSS로 스타일을 정의하듯이 Style 파일로 관련 스타일을 관리할 수 있다.

  사실 XML에 스타일 바로 정의해서 사용하는 경우도 잦긴하다. 그래도 반복적으로 사용하는 것들은 추출해서 사용하자.

 

5) 컬렉션에 큰 자료구조 넣지 말자

모토로이나 넥서스원 급의 기기에서 아무런 문제가 없다고 해서 문제가 없는 게 아니다. 당장 에뮬레이터를 띄워서 큰 컬렉션을 사용하는 부분을 돌려보면 Out of Memory로 뻗어버리는 경우가 잦다. 모바일 기기에서 메모리에 큰 자료구조를 잡아서 사용하는 방식자체가 문제지만 자바에서 습관적으로 사용하던 방식대로 사용하면 안 된다.

 

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

안드로이드 이야기 (2010-03-22)

1) 안드로이드 개발환경으로는 IntelliJ IDEA가 좋은 것 같다.

 이클립스 플러그인 개발자로서의 자존심을 버리고 개발환경을 IntelliJ로 옮겨 왔다 (아직은 평가판으로 평가 중). 아무리 생각해도 Mac용 이클립스는 여전히 무언가 이상하고, 안드로이드 개발 환경은 이상하게 느리다. IntelliJ는 UI 디자이너를 제공하지는 않지만 어차피 만족스러운 수준이 아닌지라 XML을 편집하게 되는데, XML 편집 기능 만큼은 IntelliJ가 최고다. IntelliJ는 버전 4일 때 정도 써본 것 같은데 아직은 많이 어색하다.

  근데 이클립스나 IntelliJ나 자체 Logcat 뷰어에서는 UTF-8을 지원하지 않아서 한글이 깨진다. 당장은 adb logcat으로 보는 편이 좋다 (윈도에서는 명령 프롬프트의 인코딩을 변경해야 한다). 결과는 grep으로 원하는 정보만 잡아서 보자.

 

2) ViewFlipper로 원하는 페이지 이동하기

 Swing의 CardLayout이나 SWT의 PageBook과 비슷한 역할을 수행하는  ViewFlipper는 자칫 이전 페이지/다음 페이지 전환 밖에는 허용하지 않는 것으로 볼 수 있다. showNext()와 showPrevious()와는 다르게 setDisplayedChild()라는 이름으로 원하는 인덱스의 페이지로 이동하는 기능을 제공한다. 이름만으로는 찾기 쉽지 않다. 항상 의심되면 직접 소스를 열어서 확인해보자.

 

3) 프로그래밍적으로 TextView의 텍스트 색상 변경하기

 text.setTextColor(R.color.color1)과 같은 방식으로 색상을 변경할 수 없으니 속지 말아야 한다. text.setTextColor(getResources().getColor(R.color.color1))와 같은 방식으로 색상을 변경한다. 동적으로 색상을 변경할 필요가 없다면 프로그래밍적으로 색상 변경을 하지 않는 편이 좋다. 대신 XML에 선언적으로 정의하는 방식을 이용하자.

 

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

이클립스에서 안드로이드 소스 코드 보기

안드로이드 SDK는 기본적으로 소스 코드와 함께 배포되지 않고 있기에 이클립스 안에서 사용하는 API의 코드를 볼 수 없습니다. 개발 과정에 직접 소스를 보면서 작업하려면 적어도 애플리케이션 개발자가 직접 사용하는 자바 API 수준에서는 함께 배포하면 좋을텐데 말이지요. 이클립스를 깊게 사용하는 분이라면 알고 있을 라이브러리에 소스를 링크해주는 기능도 android.jar 파일에 대해서는 꺼져있습니다.

 이 문제를 다루고 있는 이슈가 등록되어 있으니 불편함을 느꼈다면, 여기서 알아볼 번거로운 작업을 피할 수 있도록 되길 바라며 왼쪽 상단의 별표를 체크하기 바랍니다.

SafariScreenSnapz003.png

 

방법 1

검색하면 몇 가지 방법이 나오는데 그 중에서 가장 쉽게 설명하고 있는 글을 참조해서 소개합니다. 컴퓨터에 Git이 설치돼 있어야 합니다.

 

  1. > git clone git://android.git.kernel.org/platform/frameworks/base.git android-sources
  2. > cd android-sources
  3. > git branch -r
  4.   origin/HEAD -> origin/master
      origin/cdma-import
      origin/cupcake
      origin/cupcake-release
      origin/donut
      origin/donut-plus-aosp
      origin/donut-release
      origin/eclair
      origin/master
      origin/release-1.0

 

자신이 소스를 연결하려는 브랜치나 태그를 체크아웃 받습니다. 저는 안드로이드 2.0을 이용하고 있으니 origin/eclair를 체크아웃 받았습니다.

  1. > git checkout origin/eclair

 

마지막으로 SDK가 설치된 경로에 체크아웃 받은 안드로이드 소스를 심볼릭 링크로 연결해줍니다.

  1. > cd <안드로이드 SDK 경로>/platforms/android-2.0.1
    > ln -s <소스 코드 경로>/android-sources sources

 

이제 이클립스를 실행하고 소스 코드가 잘 연결되었는지 확인해봅니다.

EclipseScreenSnapz006.png

 

방법 2

이클립스에서 소스 좀 보려고 Git까지 공부해서 설치하기 싫다면, 누군가 이미 올려둔 소스로 연결하는 방법이 있습니다. 이 문제에 대한 이슈 페이지 하단에 가면 rjgruet라는 사용자가 올려둔 2.0 소스 코드의 압축본이 있습니다. 다만 이런 링크는 언제라도 깨질 수 있습니다.

  이제 안드로이드 SDK 설치 경로로 가서 하위에 sources 폴더를 만들고, 내려 받은 파일을 해당 폴더에 압축 해제합니다. 그리고 이클립스를 실행하고 소스 코드가 잘 연결되었는지 확인하면 됩니다.

 

 

 

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

안드로이드 HTC G1 구입

NOTE: 지금은 팔아버렸지만 최초의 안드로이드 기기로 추억이 되기에 이전 블로그에서 가져옵니다.

 

g1.jpg

국내에서는 전화 기능만 빼고 다되는 전화기로 안드로이드(Android) 핸드폰인 HTC G1을 구입했습니다. 지난 목요일에 이베이를 통해서 주문했는데 엄청나게 빨리 배달해주는군요. 예전에 사진으로만 보고는 조금 허접한 하드웨어라고 생각했는데 사진보다는 견고하고 꽤나 스펙이 좋네요. 어제 받아서 언락(Dev 폰을 사도 국내에서는 언락해야 합니다)하고, 펌웨어를 1.5 컵케익(Cupcake) 개발버전으로 올렸습니다. 언락하고 펌웨어를 올리는 부분에 대한 설명이 한글로된 자료가 많지 않은데 조만간 정리해서 올리겠습니다. 이제 정말 자신을 위한 즐거운 개발(Develop with pleasure!)을 할 수 있겠군요.

 

덧. 비상통화 기능은 됩니다. 911을 누르니 119로 전화가 걸리네요.

이 글은 스프링노트에서 작성되었습니다.

'일상 이야기' 카테고리의 다른 글

울릉도 여행(2)  (0) 2009/12/06
울릉도 여행(1)  (0) 2009/12/06
안드로이드 HTC G1 구입  (0) 2009/12/06
ObjectWorld 세미나 후기 (2007-11-17)  (0) 2009/12/06
추천 UCC. 영화 시카고의 ROXIE  (0) 2009/12/06
제4회 루비kr 세미나  (0) 2009/12/06
Trackback 0 Comment 0
prev 1 next