시소당
안드로이드 개발자들이라면 도움이 될 듯한 내용들을 재미 있게 모아 놓은 글이 있어 소개 합니다. 완연한 봄에 춘곤증이 밀려올때 쉬어가는 타임 한번 가져 보시지요 ~ ^^
원문출처 : codeflow
두수를 합해라
튜토리얼 보고 만드는 앱이 아닌 첫번째 앱으로 두 숫자를 더하는 앱을 만든다. 너무 쉬워 보이는가? 레이아웃 잡고, 콜백 설정하고, onPause/onResume 이 제대로 동작하게 하려면 몇시간은 걸릴 것이다. 한 번 해보시라.
자바
안드로이드 프로그래밍의 대부분은 자바 코드를 짜는데 시간을 보내게 된다. 자바가 얼마나 멋진 언어인지 감탄만 하고 있지 말고, 불평만 하고 있지도 말고. 걍 코딩을 해라.
RelativeLayout를 사용해라
대부분의 튜토리얼들은 LinearLayout 을 사용한다. 하지만 RelativeLayout 이 정말 유용하다는 것을 알게 될 것이다. GridLayout 같은 것들은 많이 사용되진 않는다. RelativeLayout 과 친해져라. 이질문에나온 예제가 도움이 된다.
최상위 RelativeLayout 에는 matchparent 를사용해라
정말 흔하고 또 찾기도 힘든 버그중 하나가, 최상위 RelativeLayout 에다가 wrapcontent 를 사용하고선, 하부 레이아웃에서 왜 상관 없는 필드들이 이상하케 배열되는 것이다.
빈 layout 을 사용해라
다른 레이아웃의 위치를 잡기 위해 내용이 빈 레이아웃을 만들때가 있다. 예를들면, width=0, height=0, centerInParent=’True’ 인 빈 TextField 를 만들고, 화면 중앙을 기준(역주:TextField 기준) 삼는데 쓸 수 있다. 또는 빈 TextField 나 LinearLayout 에 layout_weight=1 을 줘서 더 많은 화면을 차지하게 만들 수도 있다.
layout 배경색을 설정해라
레이아웃을 잡기가 힘들 때는, 아이템에 배경색을 설정해봐라. 실수를 찾는데 다른 방법들보다 빠를 수 있다.
Apps-For-Android를 다운받아라
정말 많은 어플들에 사용될 수 있는 소스 코드가 이 안에 들어있다. 예제 코드와는 다른 코딩 스타일들을 볼 수도 있다. svn co http://apps-for-android.googlecode.com/svn/trunk/ apps-for-android-read-only해서 다운받을 수 있다.
안드로이드소스를 다운받아라
어떤 문제들을 해결하기 위해서 혹은, 문서에 잘 설명되 있지 않은 것들을 확인하기 위해 안드로이드 소스가 필요하다. 최신 버전일 필요도 없다. repo명령어를 배워서 사용하거나, http://android.git.kernel.org/에서 snapshot 을 내려받을 수도 있다.
소스를 검색하는 법을 익혀라
특정 parameter(역주: 클래스,함수..) 가 다른 소스코드에서 어떻게 쓰이는지 찾아보는 것이, 많은 문제를 푸는 가장 빠른 길이다. 예제 코드나, apps-for-android 어플 소스나, 다른 소스들을 디렉토리에 모아두어라. “grep -ir funkyparameter samplecode/” 또는, 다른 검색 방법을 사용하여, 빨리 그 parameter 가 사용되는 코드를 찾아라.
Eclipse를 사용해라
오랬동안 사용해온 에디터나 IDE 가 있다고 해도, 안드로이드 개발을 할때는, 이클립스를 사용해라. IDE 로도 좋고, 안드로이드 개발과는 땔 수가 없다. 다른 IDE 를 안드로이드 개발하는데 맞추려고 하는 시간은, 곧 개발을 하고 있지 않은 시간이다.
Eclipse를 배워라
이클립스의기능들을매일조금씩배워라. 이리스트와이질문에서많이배웠다.
시작할때 도움을 구해라
읽어야 할 것이 너무 많다. 환경 설정을 하는 것은 골탕 먹기 일쑤다. 안드로이드 개발 모임에 참여하는 것은 이런 초기 난관을 헤쳐가는 데 도움이 된다.
매일 코딩해라
안드로이드 코딩은 어렵다. 문제에 봉착했다고 멈추지 말아라. 샘플 앱을 만들고, 문서를 읽고, 블로그를 읽고, 툴을 가지고 놀아라. 그리고 다시 코딩을 해라.
IRC 를 이용해라
irc.freenode.net 의 #android-dev 채널에 가봐라. 그냥 켜둬라. 10분 정도는 문제를 해결하려고 노력한 후에 질문을 던져봐라.
두개의 모니터를 이용해라
커피숍에서 랩탑으로 프로그래밍 하면 매우 느릴 수 밖에 없다. 윈도우가 여러개 필요하다. 최소한 전체화면 eclipse 와 에뮬, 그리고 튜토리얼을 볼 수 있는 브라우저를 쉽게 볼 수 있어야 한다. 3개의 스크린이 더 좋을 수도 있다.
XML 파일의 포맷을 변경해라
레이아웃 에디터는 XML 파일의 해쉬를 만든다.(역주: 응?) ‘source/format’ 명령어를 이용해 변형해라. “Eclipse/Windows/Preferences/XML/XML Files/Editor/Formatting/Split XML attributes each on a new line” 옵션을 켜라. 그리고 shift-ctrl-F 를 이용해서 포맷을 변경할 수 있다.
텍스트에디터로 XML을 작성해라
레이아웃 몇번 해본 뒤로는, 느린 gui 로 속성들을 변경하려 하지 마라. gui 로 아이템들을 끌어놓고, 오른쪽에 있는 위/아래 화살표를 이용하여 뷰와 레이아웃의 체계를 잡아라. 그리곤 XML 파일을 직접 수정해라. ctrl-space 로 자동완성 기능과 설명을 보는 것이 도움이 된다.
MarketPlace에는 나쁜사람들도 있다
구글이 MarketPlace 를 행복이 가득한 곳으로 만든 것은 아니다. 어플이 복제되어 이름만 바껴서 올라오기도 한다. 많은 사람들이 편법으로 돈을 벌려고 한다. AppStore 에서 버는 수익만으로 생활하려고 하지 마라. 구글이 문제 해결을 즉각해줄 거라고 기대하지 마라.
LogCat을 사용해라
안드로이드 에선 ‘뭐가 문제인지’ 찾기가 어려울때가 있다. 디버거에서 어플을 실행해서 로그캣 윈도우를 봐라. 로그캣 윈도우를 크게 키워서 새로운 perspective 를 만드는 것도 도움이 된다. 분리된 윈도우 창에, 색깔이 들어간 로그캣 아웃풋을 보고싶다면 Colored LogCat툴을 이용해봐라.
tools directory를 살펴봐라
sdk tools 디렉토리에 hierarchyviewer 나 layoutopt 처럼 많은 유용한 툴들이 있다. 툴을 하나씩 배우는 데 특별한 지름길은 없다.