BLOG ARTICLE 구글폰 | 2 ARTICLE FOUND

  1. 2008.10.23 구글 안드로이드 소스 공개와 마켓 오픈 2
  2. 2007.11.14 구글 Android 개발환경 둘러 보기 8

구글이 안드로이드 플랫폼 소스를 공개하였습니다. 플랫폼 전체 를 오픈소스로 만들어 버리는 것을 보면 과연 구글이라는 생각이 듭니다. 좌측은 안드로이드 캐릭터의 오픈소스 버젼입니다. 뚜껑을 열어 머릿속을 훤히 보여 주고 있습니다. ^^

다운로드 받아 볼까 했는데 파일크기가 2.1GB이고 6GB의 공간이 필요하기 때문에 다음 기회로 미루었습니다. '설치를 위해서는 Linux 또는 OS X가 필요하고 윈도우즈는 아직 지원하지 않는다'는 흔히 볼 수 없는 문구도 재미있습니다. 

이와 함께 안드로이드 개발자 블로그를 보면 Android Market: Now available for users란 제목으로 애플의 앱스토어와 유사한 어플리케이션 마켓을 런칭했다는 포스팅이 올라왔습니다. 현재까지는 50개의 어플리케이션이 올라와 있고 10월 27일 부터는 일반 개발자들도 어플리케이션을 등록할 수 있다고 합니다.

흥미로운 것은 개발자들에게 70%의 수익이 돌아 가는 부분은 애플의 앱스토어와 같지만, 나머지 30%에서도 구글은 수익을 가지고 가지 않는다고 합니다. 아무리 구글의 모토가 "Don't be evil"이지만 어지간히 통 큰 기업이 아닐 수 없네요.

개발자는 쉽게 유통시킬 수 있고 사용자는 경쟁적인 저렴한 가격에 소프트웨어를 구입할 수 있으니, SDK를 제공하고 온라인 상점을 이용해 개발자와 사용자를 직접 이어주는 이런 서비스가 많이 생기는 것은 양쪽 모두가 반길만한 일이라고 생각됩니다. 요즘 경제위기와 함께 IT의 빙하기가 도래한 우리나라 개발자들에게는 더 반가운 소식일 것 같습니다.

아이폰을 기다리다 지쳐 아이팟을 구입했는데, 문득 잘 한 것 같다는 생각이 듭니다. 휴대폰은 구글폰으로 구입해서 구글폰과 아이폰을 같이 가지고 다니면 심심할 일이 별로 없을 것 같습니다.

'기타' 카테고리의 다른 글

안드로이드 SDK - 바이오리듬 예제  (5) 2008.12.03
4. 기본 레이아웃 설정  (1) 2008.11.02
3. Rails 어플리케이션 기본 설정  (4) 2008.10.21
2. Rails 어플리케이션 생성  (0) 2008.10.20
1. Ruby on Rails 설치 및 설정  (4) 2008.10.15
AND

사용자 삽입 이미지
어제 구글의 Android SDK 공개 기사를 보고 설치해 볼려고 Android 사이트를 살펴 보았습니다. 하지만 인텔맥에서만 된다기에 좌절하고 퇴근후에 집의 인텔 맥미니에 설치를 해보았습니다.

좌측의 아이콘은 안드로이드 에뮬레이터 아이콘입니다. 귀엽습니다.

구글폰이나 Android 소식을 간간히 접하면서 맥의 위젯과 같이 막연히 Ajax를 사용하는 자바스크립트를 사용할 것 같다는 추측을 해보았습니다. 구글의 주력 서비스들이 웹 기반이고 구글의 오픈 API와 연동을 위해서도 웹 기반일거라 생각했습니다.

하지만 어제 다운로드 받아서 확인을 해보니 자바 스크립트가 아니고 자바였습니다. 구글의 능력으로 보았을 때는 충분히 새로운 개발환경(IDE)을 배포할 것 같았는데, 이클립스의 플로그인 형태로 배포 되었습니다.

완전히 새로운 개발환경보다는 이클립스라는 익숙한 개발 환경과 자바라는 대중적인 언어를 선택함으로 기존 개발자들이 쉽게 적응할 수 있을 것으로 보여 집니다.


1. Android SDK 및 이클립스 플러그인 설치
Apach Ant
JDK 5/6도 지원하지만 이클립스로 설치해 보았습니다. 구글도 이클립스를 적극적으로 지원하는 것 같습니다.

1) 이클립스 설치
이클립스가 설치되어 있지 않다면 먼저 이클립스를 다운 받습니다. 전 3.2 버젼이 깔려 있었습니다. 그런데 프로젝트를 만들 때 오류 메시지를 표시해 주지 않아서 헤매다가 3.3을 설치하니 정확히 동작했습니다.

2) Android SDK 설치
이제 Android SDK를 다운 받습니다. Android는 OS X 10.4.8 이상의 인텔맥에서만 설치가 가능합니다. 압축파일만 풀면 되니 쉽게 설치하실 수 있습니다. Android SDK의 압축을 풀면 "android_sdk_darwin_m3-rc20a"와 같은 복잡한 이름의 디렉토리가 생성되는데 접근이 용이하게 Android로 변경해 주고 원하는 위치로 이동 합니다. 저는 잠시만 사용해 보고 삭제할 것이기 때문에 데스크탑에다 디렉토리를 가져다 놓았습니다.

설치가 완료되면 실행파일을 위한 패스를 지정해 줍니다. .bash_profile에 패스를 지정해 주거나 각자의 환경에 맞게 터미널에서 아래와 같이 실행합니다.
> export PATH=/Users/zzerr/Desktop/android/tools


3) ADT 설치
이제 ADT(Android Development Tools)라는 이클립스 플러그인을 설치합니다. 안드로이드 사이트에는 선택사항이라고 되어 있지만, 이클릭스를 사용한다면 필수로 설치를 해야 될 것 같습니다.

a. 이클립스의 헬프 메뉴에서 Software Updates > Find And Install...을 선택합니다.
b. Search for new features to...을 선택하고 Next를 클릭합니다.
c. 우측의 버튼중에 첫번째 New Remote Site...를 클릭합니다.
d. 아래와 같이 Name에 Android Plugin을 입력하고 URL에 https://dl-ssl.google.com/android/eclipse/ 을 입력한 후에 OK를 클릭하고 완료되면 Finish 버튼을 클릭합니다.
사용자 삽입 이미지











e. 다음 단계에서 아래와 같이 Android Plugin을 체크하고 Next 버튼을 클릭합니다.
사용자 삽입 이미지




















f. 라이센스에 동의에 체크하고 Next 버튼을 클릭한 후에 Finish버튼을 클릭합니다.
g. Install All 버튼을 클릭하면 설치 후에 이클립스가 재실행 됩니다.

이클립스의 Preferences... 메뉴를 클릭하고 Android를 선택합니다. 아래와 같이 SDK Location에 이전 단계에서 설치한 Android SDK의 디렉토리를 설정합니다.
사용자 삽입 이미지

"이제 사용할 준비가 완료되었습니다."


2. 샘플 프로젝트 작성

1) 프로젝트 생성
이클립스에서 File > New > Project... 를 클릭하고, Android Project를 선택한 후에 Next 버튼을 클릭합니다.

Project name과 Package Name, Activity name, Application Name을 각각 입력하고 완료 버튼을 클릭합니다. 저는 아래와 같이 입력하였습니다. Application name에 testAndriod로 잘 못 입력하여 나중에 에뮬레이터 화면에서도 Andriod로 나옵니다.
사용자 삽입 이미지

2)  코드 작성
완료되면 아래와 같은 안드로이드 이클립스 개발환경이 나옵니다.
사용자 삽입 이미지

여기선 전 샘플코드를 둘러 보다가 그래픽 샘플코드에서 점을 랜덤하게 출력하는 소스를 복사해서 아래와 같이 만들어 보았습니다.

package com.cocoa;

import android.app.Activity;
import android.os.Bundle;
import android.content.Context;
import android.graphics.*;
import android.view.View;

import java.util.Random;
public class hello extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(new SampleView(this));
    }
   
    private static class SampleView extends View {
        private Paint   mPaint = new Paint();
        private float[] mPts = new float[1000];

        public SampleView(Context context) {
            super(context);
           
            Random rand = new Random();
            final int N = mPts.length >> 1;
            for (int i = 0; i < N; i++) {
                mPts[(i << 1) + 0] = rand.nextFloat() * 320;    // X
                mPts[(i << 1) + 1] = rand.nextFloat() * 240;    // Y
            }
        }
   
        @Override protected void onDraw(Canvas canvas) {
            Paint paint = mPaint;

            canvas.drawColor(Color.WHITE);

            paint.setColor(Color.BLACK);
            paint.setAntiAlias(false);
            paint.setStrokeWidth(10);
       
            canvas.drawPoints(mPts, paint);
        }
    }
}


사용자 삽입 이미지
이제 실행해 보면 좌측과 같은 다이알로그 박스가 나오는데 Android Application을 선택하시고  OK버튼을 클릭합니다
 







아래는 에뮬레이터에서 실행된 모습입니다. 이미지 사이즈를 줄였지만 상당히 큽니다. 맥미니에 연결된 24인치 모니터에 아래와 같은 것이 뜨니 처음에는 핸드폰 에뮬레이터가 아니라 무슨 타자기 에뮬레이터가 뜨는 줄 알았습니다.
사용자 삽입 이미지

기존 자바 개발자나 C#으로 윈도우 모바일 개발 경험이 있는 개발자들은 별다른 노력 없이 쉽게 구글폰 어플리케이션을 제작할 수 있을 것 같습니다. 구글에서 많은 상금이 걸린  Developer Challange도 개최하니 우리나라 개발자들이 많은 상금을 가져 올 수 있었으면 좋겠습니다.


3. 사족 - MS Windows Mobile

이런류의 기기들을 좋아해서 오래전 WinCE 1.0이 탑재된 LG PDA를 구입을 시작으로 현재는 윈도우즈 모바일 5.0의 삼성 블랙잭을 사용하고 있습니다. PC와 인터넷에서의 경쟁이 이제 윈도우즈 모바일을 탑재한 스마트폰, 애플의 아이폰, 구글의 구글폰으로 모바일에서 까지 달아 오르는 것 같습니다.

OS/개발환경/브라우져도 그렇고 경쟁자가 없으면 나태해지는 MS도 이제 바짝 달려야 할 것 같습니다. 다른 건 몰라도 디자인적인 측면에서  신경을 좀 써주었으면 합니다.

아래의 이미지가 제 블랙잭의 스크린샷입니다. 초기화면은 어디선가 다운로드 받은 맥 테마를 변경하여 사용하고 있습니다. 여느 아빠들과 마찬가지로 핸드폰 초기화면은 제 아들 녀석이 자리잡고 있습니다.

우측은 윈도우즈 모바일의 탐색기 이미지입니다. 흑백에서 칼라로 바뀐 것을 제외하고는 10년 전에 본 모습 그대로 입니다. 한때 디자이너가 없다던 소문이 돌던 구글 디자인 컨셉 같습니다.
사용자 삽입 이미지 사용자 삽입 이미지

모바일 기기의 특성상 가능하면 메모리와 저장 공간을 줄여야 하는 것은 알지만 보기에도 좋았으면 좋겠습니다. 제 취향이 이상한 건지도 모르겠습니다. 간혹 급하게 메모할 일이 생길 때면 기본 메모장을 이용하는데 윈 3.1 시절의 향수를 느끼게 해줍니다. 언제 시간날 때 기능은 없고 보기에는 좋은 메모장이나 하나 만들어 볼려고 합니다.
AND