Why? 왜 우분투에서 안드로이드 앱 개발을 해야할까?
    1. 윈도우 보다는 안드로이드 개발하기가 편하다.
      이유 : 윈도우에서 안드로이드폰을 테스트하기 위해서는 USB 드라이버를 제조사별로 설치해야 한다.
        -> 우분투에서는 android용 rule.set만 설정해주면 된다.
    2. 무료로 사용할 수 있는 안정적인 리눅스 운영체제이다.
    3. 개발 중에 필요한 서버테스트 환경 등을 손쉽게 구축할 수 있다.



  적어도 안드로이드 앱 개발자에게는 윈도우보다는 나은 환경을 제공한다(맥북에서 써보니까 맥북도 괜찮다. 하지만, 맥북을 사야한다. 우분투는 지금 쓰는 노트북의 운영체제를 밀고 설치하면 된다).
  우분투에서 안드로이드 앱 개발환경을 구축하기는 쉽다.


1. JDK 설치하기
    1.1. JDK 설치 여부 확인
        - honeymon$ java -version
            = 설치되어 있는 경우 : 2.1.로 넘어가자.
            = 설치되어 있지 않은 경우 : 1.2.로 넘어가자.
    1.2. JDK 설치하기
        - JDK 중 하나를 선택하자.
            = OpenJDK(참조하는 라이브러리에서 오류가 발생한다고 합니다. 다른 분들은 이걸 비추.)
            = SunJDK(많은 분들은 이걸 추천합니다.)
            = IBMJDK 듣보잡!
        - JDK를 설치하기
            = sudo apt-get install sun-6-jdk
            = 설치 완료 확인 : java -version
2. Android SDK 설치하기(ADK -> Android SDK로 변경)
    2.1. 구글 안드로이드 개발 사이트 : http://developer.android.com/index.html
        - 우분투용 Android SDK를 다운로드 받는다
            = Android SDK url : http://developer.android.com/sdk/index.html
            ** i386이라고 되어있지만 아키텍쳐(32bit/64bit)는 크게 신경쓰지 않아도 된다.
        - Android SDK를 지정한 위치에 푼다.
            = honeymon : /home/honeymon/Dev/android-sdk 에 설치함
    2.2. Android SDK가 설치된 경로(PATH)를 .bashrc 에서 설정해준다.
        - 설정 이유 : adb, ddms와 같은 안드로이드를 다루는데 필요한 커맨드를 실행할 수 있도록 해주는 것이다.
        - Tip. 윈도우에서는 1개의 경로가 끝나면 끝에 ;(세미콜론)을 붙이지만, 유닉스와 리눅스에서는 :(콜론)을 사용한다.
          = 윈도우 사용자가 유닉스나 리눅스 환경에서 낯설어하는 부분 중 하나다. 윈도우가 유닉스를 따라한 것이다. 모든 운영체제의 시작은 유닉스였다고 보면 된다.

설정방법 :
  .bashrc 제일 마지막 문장에 PATH 추가

ANDROID_PATH=/home/honeymon/Dev/android-sdk
PATH=$PATH:$ANDROID_PATH/bin

    2.3. Android SDK 경로설정이 완료되었는지 확인한다.
        - adb help
3. Eclipse 설치하기
    3.1. Eclipse DownLoad site : http://www.eclipse.org/downloads/
        - Eclipse IDE for Java Developers 가 안드로이드 앱 개발에는 더 적합해 보인다.
        - 내가 처음에 배울 때는 Eclipse classic 을 추천받았었는데...
    3.2. Eclipse의 압축을 푼다.
    3.3. eclipse.ini 환경을 설정한다.
        - 개발에 적합한 것들과 설정했을 때 관련이 있는 것을 알려준다.
    3.4. eclipse를 설치한다.
4. ADT 플러그인 설치하기
    - 참고 사이트 : http://developer.android.com/sdk/eclipse-adt.html
    4.1. eclipse adt update site 추가 : https://dl-ssl.google.com/android/eclipse/
    4.2. Update 목록에 나온 플러그인을 선택하고 설치한다. 설치 완료 후 이클립스 재시작
    4.3. android Manager에서 ADK의 위치를 설정한다.
    4.4. 개발하려고하는 android 버전의 라이브러리를 확인한다.
        - 다운로드 속도가 느린 편이므로 마음의 여유를 가지고 임하자.
    4.5. 라이브러리 다운로드가 완료된 후 이클립스를 다시 시작한다.
5. ADT 설치확인
    5.1. Android manager를 선택한다.
    5.2. Android Emulator를 추가한다.
    5.3. Android Emulator를 실행한다.
    5.4. DDMS perspective를 선택하여 화면전환 후 5.3.에서 실행한 에뮬레이터가 인식되는지 확인한다.
    5.5. 가볍게 화면을 캡쳐해본다.
6. Android Project 생성하기(맛뵈기)
    6.1. Android Project 추가
    6.2. 실행하기
        - Android Application 선택 -> 수행
    6.3. 5.3.에서 실행한 Emulator에서 실행되는지 확인하기
        - Emulator가 동작하는데 걸리는 시간은 실제 안드로이드가 실행되는 시간보다 오래걸린다.
        - CPU의 성능에 따라서 그 차이가 제법 난다.
        - Emulator보다는 넥서스, 넥서스S, 넥서스 프라임과 같은 레퍼런스폰을 개발기기로 연결해서 테스트하는 것이 좋다.
    6.4. 실행시킨 에뮬레이터가 에뮬레이터에 보이면 정상적인 빌드 및 설치가 완료된 것이다.
7. 안드로이드 개발 Tip
    7.1. Java에 대한 공부는 꾸준하게 한다.
    7.2. 커뮤니티 활동을 한다.
    7.2. 로그(Log)를 잘 이용해서 동작을 체크하자.
        - 디버그(Debug)모드를 자주 이용하면 동작을 한눈에 확인하기 어렵다.
        - 기록(로그)을 세밀하게 남겨서 확인하는 습관을 가지자.
    7.3. Android Reference를 꼼꼼히 읽어두자.
        - 어느 개발서적보다 낫다.
        - 개발서적들은 대부분 저자가 자세히 모르는 내용은 얼버무리게 된다.

     



P.S. 안드로이드 개발용 rule.set 설정하기

오랜만에 JCO가 열립니다. ^^ 자바 개발자분들이 오셔서 많은 이야기들을 듣고 느낄 수 있는 기회가 되었으면 합니다. ^^


토비의스프링3
카테고리 컴퓨터/IT > 프로그래밍/언어 > 프로그래밍일반
지은이 이일민 (에이콘출판, 2010년)
상세보기


  • 클래스 밖에서는 오브젝트를 생성하지 못하도록 생성자를 private으로 만든다.

  • 생성된 싱글톤 오브젝트를 저장할 수 있는 자신과 같은 타입의 스태틱(static) 필드를 정의한다.

  • 스태틱 팩토리 메소드(static factory method)인 getInstance()를 만들고 이 메소드가 최초로 호촐되는 시점에서 한번만 오브젝트가 만들어지게 된다. 생성된 오브젝트는 스태틱
  • 필드에 저장된다. 또는 스태틱 필드의 초기값으로 오브젝트를 미리 만들어둘 수도 있다.

  • 한번 오브젝트(싱글톤)이 만들어지고 난 후에는 getInstance()  메소드를 통해 이미 만들어져 스태틱 필드에 저장해둔 오브젝트를 넘겨준다.

   싱글톤 패턴 구현방식의 문제
 

  • private 생성자를 갖고 있기 때문에 상속할 수 없다.

  • 싱글톤은 테스트하기가 힘들다.

  • 서버환경에서는 싱글톤이 하나만 만들어지는 것을 보장하지 못한다.

  • 싱글톤의 사용은 전역 상태를 만들 수 있기 때문에 바람직하지 못하다.

가지고 있던 북마크를 정리하다가 보인 이 녀석을 기록으로 남긴다.

JDK 1.3 이나 1.4 버전 등을 찾으러 다니기 귀찮았는데, 이렇게 정리가 되어 있는 페이지를 찾고서 북마크해둔다.
자바와 관련된 내용들을 정리해두고 필요할때마다 찾자.
1월에 그만둔 회사의 직원분들을 만나서 이야기를 나누었습니다. ^^;

현재 근무지의 상황과 개발 상황에 대한 이런저런 이야기들을 나누다보니,
'서둘러서 그만둔 것이 다행이구나' 라는 생각이 들더군요.
그만큼 현재 남아있는 사람들의 업무에 대한 과중과 여러가지 상황들이 뒤엉켜
발을 빼기 어려운 상황이었습니다. 거기에 계신 분들도 나올 채비를 하고 계신
이들이 많았습니다.

그분들과 이런저런 이야기를 나누면서, 개발 과정에서 작성된 프로그램 때문에
발생하는 문제들에 곤혹을 치르고 있다는 이야기가 화제가 되었습니다.

그런 이야기를 나누다보니, 일정에 좇기어 아무런 생각없이 
'돌아가기만 하면 돼!'
라는 생각을 하면서 작성했던 기능들이 하나둘 떠올랐습니다.
당시에는 원하는 결과만 나오면 됐습니다. 정해진 할당량을 완수하는 것도
벅찬 상황이었습니다. 슬프디 슬픈 개발 경험이었습니다. 

그런데 지금 그 코드(이것조차도 이제는 레거시 코드구나!)들을 떠올리다가 보니
얼굴이 확 달아오르더군요. ㅎㄷㄷ

앞으로는 그런 코드를 짜지않도록 최선을 다할 것입니다.
여전히 제가 만들어낸 녀석들은 서툴기도 하고 오류도 많이 내겠죠. 그러나,
나의 성장과 함께 내가 작성하는 코드들도 조금씩 발전했으면 합니다.

내가 만든 코드를 보며,
최고에요!
최고에요! by HopeLand 저작자 표시비영리변경 금지
'최고에요!'
라고 찬사를 받을 그날을 꿈꾸며,
 나는 개발자의 길을 가렵니다.

+ Recent posts