서론
- 위치 기반 서비스(LBS:Location Based Service)에 대해
(개인적이 주관으로 기술한 내용)
   스마트 폰에서 유용하다라고 생각하는 것 중에 위치 기반 기술, 맵 정보, 그리고 여기에 다른 유용한 정보를 융합하여 더 나은 정보를 제공하는 애플리케이션이 상당 부분을 차지합니다. 사례를 보면 자기 주위 가장 싼 주유소를 찾아주는 앱(App.: Application 의 줄임말 ), 특정 책이 있는 서점을 찾아주는 앱 등이 이를 대표하는 앱입니다.

[휴대전화의 위치 기반(맵정보 활용) 서비스의 특징 및 문제점]
  - 하나 이상의 서비스를 융합하여 새로운 서비스 제공하는 Mashup 형태
  - 프라이버시 침해 우려(맵서비스 제공자에게 개인의 위치정보 전달)
  - 위치정보(맵정보)와 융합할 소스 정보 제공자에 의존적
     위치(맵정보)와 융합할 정보를 공급자가 차단하는 경우 서비스 불가.

이런 몇 가지 문제점이 보완된다면 더욱 다양한 방향으로 활용될 것이기 때문에 위치기반(맵정보) 서비스
말로 스마트 폰에 핵심라고 할 수 있습니다.

1. 위치 기반 애플리케이션(Location Based Application)
  위치 기반 애플리케이션은 무선 기기내에 GPS(Global Positioning System) 등을 이용하여 사용자의 현재 위치 정보(맵 정보)에 따르는 다른 유용한 정보를 결합하여 새로운 기능를 제공하는 애플리케이션입니다. (제나름대로 정의한 것)
이런 애플리케이션을 안드로이드에서 Google Maps API와 android.location Library를 이용하며 아주 손쉽게 제작이 가능합니다.(리스트1-1)

[리스트1-1]위치 기반 관련 패키지(라이브러리)
  Google Maps Service에 접근하는 인터페이스를 제공하는 패키지로써 주요 클래스는 맵을 표시하는  MapView 클래스와 MapView를 Activity를 관리하는 MapActivity 클래스 등으로 구성되어 있습니다.
 
  GPS나 무선랜 등의 정보를 이용하여 휴대전화의 현재 위치 정보(위도,경도)를 얻기 위한 기능을 제공하는 패키지로써 시스템의 위치 서비스(Location Service)의 접근을 제공하는 LocationManager 클래스, 위치정보와 주소정보를 변환하는 Geocoder 클래스, GPS엔진 상태를 표현하는 GpsStatus 클래스 등으로 구성되어 있습니다.

*** 이제 구글맵을 연동하는 안드로이드 애플리케이션을 제작 방법을 소개하려고 합니다. 시작 전에 컴퓨터에 안드로이드 개발환경 구축 전인 경우 지금부터 과정을 진행할 수가 없습니다. 만일 이런 경우의 독자라면  "안드로이드(Android) 개발환경 구축하기" 포스트를 참고하여 개발환경을 먼저 구축하고 다음 내용 진행하시기 바랍니다.

2. Google Maps API Key 발급받기
  Google Maps 데이터에 접근하는 Android에 애플리케이션을 제작하기 위해서 Google Maps service에 등록 및 약관 동의 절차(Maps API Key Signup)를 거쳐야 합니다. 참고로 Maps API Key 발급은 무료이며, 로그인 가능한 구글 계정이 필요합니다.

1) SDK 디버그 서명 증명서의 MD5 핑거프린트(Fingerprint:지문) 확인하기
디버그 서명 증명서(debug.keystore 파일)는 Android SDK가 자동으로 생성하며, 개발환경의OS마다 다른 경로가 생성됩니다. (리스트2-1 참고)

[리스트2-1]OS별 디버그 서명 증명서(dubug.keystore) 저장 경로
Win Vista: C:\Users\%username%\.android\debug.keystore
Win XP: C:\Documents and Settings\%username%\.android\debug.keystore
OS X and Linux: ~/.android/debug.keystore

debug.keystore의 저장된 위치를 확인했으면 썬 JDK에 포함되어 있는 keytool를 이용하여 핑커프린트 확인할 수 있다. ([예제2-1])

[예제2-1]keytool로 Fingerprint를 확인(붉은색 글씨가 Fingerprint) (Vista환경예시)
C:\Users\test\.android>dir *.keystore
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: BXXX-XXXX
 C:\Users\test\.android 디렉터리

2010-02-06  오후 09:07             1,268 debug.keystore
               1개 파일               1,268 바이트
               0개 디렉터리   X,XXX,654,592 바이트 남음

C:\Users\test\.android>"%java_home%\bin\keytool.exe" -list -keystore debug.keystore -keypas
s android -storepass android -alias androiddebugkey
androiddebugkey, 2010. 2. 6, PrivateKeyEntry,
인증서 지문(MD5): AA:22:33:F7:32:12:22:EC:68:93:8B:55:44:69:ED:47

2) 구글 지도 API 가입하기(Maps API Key Signup)
다음 URL 이동하여 위에서 확인한 인증서 지문(MD5) 값을 복사하여 [My certificate's MD5 fingerprint] 입력란에 넣고 Generate API Key를 클릭합니다. 여기서 구글 로그인 이 필요합니다.

[그림2-1] Maps API Key Signup - Start Webpage
사용자 삽입 이미지






















[그림2-2] Maps API Key Signup - Result Webpage
사용자 삽입 이미지
















발급된 사용자 키를 다른 곳에 잘 저장해 두고 애플리케이션 제작하는 단계로 넘어갑니다.



3. Google Maps API 이용한 애플리케이션 제작하기 (GoogleMapHello)

Google Maps API를 이용하여 맵 정보를 표시하는 간단한 애플리케이션 만들어 보겠습니다.

1) Eclipse 에서 GoogleMapHello 프로젝트를 생성하기

[그림3-1]New Android Project : GoogleMapHello
사용자 삽입 이미지



































2) Maps library를 사용 설정 및 인터넷 접속 허용 설정하기(AndroidManifest.xml)
Standard Android library에는 Maps library가 포함되어 있지 않으므로 사용하려면 별도의 설정이 필요합니다. 또한 인터넷에 접속하여 Maps data를 조회하려면 INTERNET Permission을 지정해야 합니다.

[예제3-1] GoogleMapHello의 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="tobe30.sample.googlemaphello"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".GoogleMapHello"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!--map library 사용 설정-->
<uses-library android:name="com.google.android.maps" />
    </application>
    <uses-sdk android:minSdkVersion="7" />
    <!--INTERNET Permission 지정-->
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

3) 애플리케이션의 레이아웃 작성하기 (res/layout/main.xml)
com.google.android.maps.MapView 클래스를 레이아웃에 추가한다.
[예제3-2] GoogleMapHello의 res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:apiKey="043KehnZyxJK7Ny0hTKJPBcp_rihr6VLCMoDQeA"
/>
android:clickable 속성은 사용자의 상호작용 허용 여부를 설정하는 것입니다. 이것을 false로 설정하는 경우 터칭(에뮬레이터에서는 마우스로)으로 맵을 조작할 수 없게 됩니다.
android:apiKey에는 위에 "2. Google Maps API Key 발급받기" 과정을 통해 얻은 자신의  Maps API Key를 설정합니다.

4) 애플리케이션의 Activity를 구현하기 (GoogleMapHello.java)
MapActivity 클래스는 MapView에 지도 표시를 관리하는 역할을 합니다. 그래서GoogleMapHello Activity는 MapActivity 클래스를 상속받아 구현해야 합니다.

[예제3-3]GoogleMapHello Activity 소스
package tobe30.sample.googlemaphello;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import android.os.Bundle;
// GoogleMapHello 는 MapActivity를 상속
public class GoogleMapHello extends MapActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        MapView mapView = (MapView) findViewById(R.id.mapview);
        mapView.setBuiltInZoomControls(true);  //줌컨트롤을 활성
    }

   @Override
    protected boolean isRouteDisplayed() {
return false;
    }
}
isRouteDisplayed() 메소드는 MapActivity의 추상 메소드이므로 반드시 구현해야 합니다.
isRouteDisplayed() 메소드는
 애플리케이션에 라우트 정보를 표시할 경우 true를 반환하고, 그렇지 않은 경우 false를 반환합니다.

5) 실행
Eclipse > Run > Run as > Android Application

[그림3-2]GoogleMapHello 실행화면
사용자 삽입 이미지


















※ GoogleMapHello는 Map API를 이용하는 애플리케이션이므로 실행할 때 타켓이 Google APIs(Google Inc.) - API Level n으로 설정된 ADV로 실행해야 한다.(그림3-3)
[그림3-3]Google APIs(Google Inc.) - API Level n 타켓의 AVD 생성
사용자 삽입 이미지






























참고

끝!
노트북에서 해보느라고 아주 죽는 줄 알았습니다. 노트북이 사양이 좀 딸려서 애플리케이션 한번 실행하는데 꽤나 느립니다. 역시 최고에 장벽은 영어! 나에게는 존재하지 않는 영어 실력으로 영문 문서 읽어가면서 하려니 포스팅 하나 작성하는데 하루 종일 걸렸습니다. 나름 최선을 다해 자세히 설명을 하려고 노력했는데 보시는 분들이 얼마나 잘 이해하실지.....그리고 이 글은 맘으로대 퍼가셔도 상관없습니다. 출처만 분명히 밝혀주시면 됩니다.

이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 좐군

2010/03/31 12:59 2010/03/31 12:59

Trackback URL : http://John.tobe30.com/tc/trackback/310

Comments List

  1. 공돌이 2010/04/01 20:02 # M/D Reply Permalink

    좐군님 대단하세요 ㅎㅎ 안드로이드 책이랑 다른 사이트 참고해서 했어요 ㅎㅎ

    http://androidhuman.tistory.com/

    이곳에도 강좌가 많더군요^^ 아시고 계실지도 ㅎㅎ

    1. 좐군 2010/04/02 15:48 # M/D Permalink

      저는 주로 공식사이트로 이용하는 편이라.
      모르는 곳이였는데... 좋은 정보 감사합니다.

  2. 스티븐잡스 2010/04/03 21:48 # M/D Reply Permalink

    안녕하세요.

    mabifest Fie에서l 라이브러리를 com.google.android.maps 가져다 쓰잖아요?
    그리고 나서 *.java 파일에서 맵뷰컨트롤러를 호출하려고 하니까 에러가 나네요

    MapView map_veiw = (MapView)findViewById(R.id.mapview);

    id 다음에 mapview를 인식못하네요.. R.java 파일에 임의로 써줘야 되는건지..

    1. 좐군 2010/04/05 13:31 # M/D Permalink

      안녕하세요. 주인장입니다.

      위 글을 작성 할 때 같은 문제를 겪었습니다.
      프로젝트를 다시 생성도 해보고, 이클립스에서 속성창릅 불러 수정도 했는데 결국 해결못하고, R.java 파일을 직접 해당 ID값을 입력해서 컴파일을 했습니다.

      리소스 관련된 사항은 다음을 참고하세요.
      http://developer.android.com/guide/topics/resources/available-resources.html#layoutresources

      해보시고 잘 안되시면 다시 댓글 남겨주세요.

  3. 스티븐잡스 2010/04/06 20:05 # M/D Reply Permalink

    되었습니다. R.id.mapview를 직접 만들어주니 해결되었습니다.

    리소스 관련 사항도 잘 보았습니다(영어라서 대충ㅠ)

    근데 왜 알아서 안생길까요......ㅠ

    아무튼 감사합니다.

  4. 하로하로 2010/04/21 14:50 # M/D Reply Permalink

    MD5나 API key는 각 개인별로 있는거라 모자이크 하시는게 좋을꺼 같은데요.....

    1. 좐군 2010/04/21 17:11 # M/D Permalink

      이 그림에 포함된 키값 임의로 제가 지정한 값입니다.ㅋㅋ

  5. 이민효 2010/05/30 19:07 # M/D Reply Permalink

    제가 쌩 초보자라서 그런데 R.java 파일을 직접 해당 ID값을 입력하라는게 어뭔지를 잘 몰라서요.. 소스좀 보여주시면 안될까요 ? ㅠ

    1. 들짐승소년캔듸 2010/10/11 14:23 # M/D Permalink

      직접 안되거나 또는 R.java에 들어가지 않을경우

      에는 가끔 메인메뉴에 Project - > Clean 해주시면

      어느정도 완화되는 효과를 보실수 있을꺼 같습니다 ^-^

  6. 예영파피 2010/06/04 16:27 # M/D Reply Permalink

    좋은글 잘보고 갑니다. 퍼가요

    출처는 http://john.tobe30.com/tc/entry/Android_GoogleMapsAPI_Using 로 표시합니다.

  7. nuno1333 2010/08/05 12:45 # M/D Reply Permalink

    잘보고 잘따라 했습니다 좀 퍼가요

  8. ^^ 2010/08/24 11:50 # M/D Reply Permalink

    좋은 글 고맙습니다. 담아갈게요~^^

  9. risepower 2010/08/27 03:10 # M/D Reply Permalink

    오우 구글 API 때문에 머리가 아팠는데... 게보린 안먹어도 될듯 ㅜㅜ 약값 지켜준 님께 감사요 !! ^-^

  10. 들짐승소년캔듸 2010/10/11 14:24 # M/D Reply Permalink

    좋은글 잘 보고 있습니다 ^-^;

    게다가 설명도 너무 보기쉽게 잘해주셔서~

    책보는것보다는 훨씬 수월하게 잘 해결하였습니다~

    감사합니다~

  11. 소징 2010/11/25 13:20 # M/D Reply Permalink

    잘 보고 잘 활용했습니다~~!! 정말 책보다 더 좋은듯해요 감사합니다!

  12. woodz 2010/12/28 21:56 # M/D Reply Permalink

    정리가 아주 잘되어 있네요~ 감사합니다. ^^

  13. 코프 2011/04/22 09:23 # M/D Reply Permalink

    좋은 정보 감사해요.와우...덕분에 좋은거 하나 알았네요..
    혹시 좀더 많은 질문과 궁금한점을 여쭤봐도 될까여?
    wss02@naver.com 네이트온 친추좀.
    앱개발에관심이 너무 많아서요.ㅜㅜ

  14. 코프 2011/04/22 10:43 # M/D Reply Permalink

    이제 잘 됩니다.그런데 한가지 궁금점이 현재 내 위치를
    뿌려지게 하고 싶은데..그건 어떤식으로 구현을 해야하나여?

  15. http://blog.daum.net/linkinparklife  2011/10/14 10:33 # M/D Reply Permalink

    20자리 키가 발급됐는데 앞의 16자리만 입력해야 제대로 먹네요.
    감사합니다.

    1. 좐군 2011/11/16 02:33 # M/D Permalink

      하하 그런가요....

Leave a comment
[로그인][오픈아이디란?]

안드로이드(Android) 개발환경 구축하기

Android
드로이드 개발 환경은 크로스(Cross) 개발 환경이다. 크로스 개발 환경이란 개발할 때와 실행 때에 다른 컴퓨터 환경에서 이루어지는 개발 방법을 말한다. 여기서 애플리케이션을 개발하는 환경을 호스트(host) 환경, 애플리케이션을 실행하는 환경을 타켓(Target) 환경이라고 한다.
 

※ 안드로이드에 내용은 다음 포스트를 참고 : What is Android?
※ Android 개발툴이 동작하는 환경
   Windows XP(32bit), Windows Vista(32bit/64bit), Windows 7(32bit/64bit)
   Mac OS X 10.3.8 이후(x86판만)

※ 용어
ADT : Android Development Tools
AVD : Android Virtual Device


A. 윈도우에서 Eclipse IDE 개발환경 구축하기
A.1. Android 개발환경에 필요한 소프트웨어를 다운로드하여 설치한다.
    * Android SDK
      Version : 2.1   /  1.6   /   1.5
      압축을 적당한 위치에 해제한다. (D:\AndroidDev\android-sdk-windows)  

    
        따로 인스톨 필요없고, 적당한 폴더에 해제한다.(D:\AndroidDev\eclipse)



A.
2. Eclipse에서 Andorid 개발툴 플러그인을 설치하기
   Eclipse를 시작한다
   Help > Install New Software... 선택한다.

   Install 창에서 [Add...]버튼을 선택하고, 플러그인 사이트를 등록한다.
      Name : Android plugin
      Location :    
http://dl-ssl.google.com/android/eclipse/
사용자 삽입 이미지
   Install 창에서 Work with 에  위에서 등록한 사이트를 선택한다.
   아래 화면과 같이 Developer Tools를 체크하고, [Next >]버튼을 클릭한다.
사용자 삽입 이미지
  Install Details에서 Android DDMS, Android Developement Tools 를 선택하고,
  [Next >] 버튼을 선택한다.
사용자 삽입 이미지
   설치중....
사용자 삽입 이미지

A.
2. Eclipse에서 Android SDK의 경로 지정하기

    Eclipse를 실행하여 Window > Perferences를 선택한다.
    Android 를 선택하고 SDK Location 에 위에서 Android SDK 설치한 폴더를 선택한다.
    (여기서는 D:\AndroidDev\android-sdk-windows로 설정)
사용자 삽입 이미지


A.
3.
Eclipse에서 Windows > Android SDK and AVD Manager 선택한다.
   Available Packages를 선택하고 설치할 SDK과 Google API를 체크한다.
   [Install Selected]버튼을 클릭한다.
사용자 삽입 이미지
   Accept All을 선택하고, [Install Accepted]버튼을 선택한다.
사용자 삽입 이미지
   
   설치가 완료되면 [Yes] 버튼을 선택하고 ADB를 재시작한다.
사용자 삽입 이미지

A.
4. 이제 Virtual Device를 생성해야 한다.
   
Android SDK and AVD Manager 창에서 Virtual Devices를 선택하고,
   [New...]버튼을 선택한다.
 
사용자 삽입 이미지
  Create new AVD창에서 아래와 같이 입력하고, [Create AVD]버튼을 선택한다.
  여기서 SD Card 사이즈를 너무 크게 설정하면 해당 Virtual Device를 구동(Android 부팅)할 때 메모리를 많이 소비하고 부팅시간이 오래 걸리기 때문에 실행하려는 애플리케이션에서 사용하는 메모리를 고려하여 설정한다. 여기서는 간단한 프로그램을 구동할 것이므로 SD 카드 메모리의 크기를 64MB  또는 128MB 정도 설정한다.
사용자 삽입 이미지
여기까지 하면 Android 애플리케이션을 개발하기 위한 개발환경 세팅
 완료되었다.


B. Android 애플리케이션 프로젝트 생성/컴파일/실행
B.1. Eclipse 에서 File > New > Android Project 를 선택한다.
   아래 화면과 같이 입력하고, [Finish]버튼을 선택하고 프로젝트를 생성한다.
   (
HelloWorld 라는 2.1 버전 플랫폼에서 돌아가는 프로젝트를 생성하는 예)

사용자 삽입 이미지
- Application Name : 안드로이드 메인화면에 표시되는 애플리케이션의 이름
- Package Name : Java의 패키지명. 패키지는 컨테이너에 포함된 타입의 고유의 식별자 및 접속 경로를 제공하는 것.
- Create Activity : 안드로이드 어플리케이션을 윈도우를 제어하는 클래스의 이름. Activity는 UI화면을 제어하는 클래스.


  다음 프로젝트를 생성한 결과이다.
사용자 삽입 이미지
  Eclipse에서 Run > Run 을 선택하고
  Run As 에서 Android Application을 선택하고, [OK]버튼을 선택하다.
사용자 삽입 이미지
Android SDK and AVD Manager가 실행되면 여기서 기존 등록해 둔 AVD를 선택하고
[Start...]버튼을 선택한다.
사용자 삽입 이미지














드디어 Android가 실행되는 화면을...
사용자 삽입 이미지

















(여기서 컴사양에 따라 실행속도가 많이 차이난다.
* 만일 부팅 시간이 생각보다 오래(3분이상) 걸리다면
 
 AVD의 SD 카드 메모리 사이즈를 너무 크게 설정한 것이 아닌지 확인해본다. 여기서 간단한 프로그램 구동하는 것이므로 64mb 또는 128mb정도가 무안하다. 이 이상으로 설정했다면 이클립스의
Android SDK and AVD Manager 창에 가서 실행하려는 AVD의  SD 카드 메모리 사이즈를 조정하면 부팅속도가 빨라질 것 이다.
부팅이 완료되고, 위에서 생성한 HelloWorld라는 애플리캐이션이 실행된다.
사용자 삽입 이미지

















모든 프로그램 HelloWorld하면 끝난거 아닌가?ㅋㅋ

iPhone App. 개발의 경우 Mac OS가 필요하고, 실제 하드웨어에 프로그램을 배포할 때도 애플 별도의 인증을 거쳐야 하나,
Android App. 같은 경우 개발환경(윈도우/리눅스/Mac)의 거의 제약이 없고, 배포도 USB로 가능하도고 하니 조만간 많은 App.과 그런 애플케이션을 개발을 용이하게 하는 많은 툴이나 라이브러리가 쏟아져 날올 것으로 예상된다. 개인적으로 Android 개발 환경이 Java 계열이라
 GUI 디자이너가 iPhone GUI 디자이너나 Visual Studio (Mobile Window 개발툴)와 같은 툴에 비해 다소 불편한 것 어쩔수가 없다. 하지만 Android는 모든 것이 오픈소스이니 수년내에 iPhone을 뛰어 넘을 정도로 발전하지 않을까
조심스런 기대를 해 본다.



참고 자료
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 좐군

2010/02/17 11:31 2010/02/17 11:31
, , , ,
Response
No Trackback , 19 Comments
RSS :
http://John.tobe30.com/tc/rss/response/292

Trackback URL : http://John.tobe30.com/tc/trackback/292

Comments List

  1. 공돌이 2010/02/13 22:10 # M/D Reply Permalink

    어우 난 왜 안뜨지 끝에서 안되네 -_- 계속 안드로이드 라고만 표시되네..휴.. ㅋㅋ

    1. 좐군 2010/02/17 18:23 # M/D Permalink

      주인장입니다. 답변이 늦어 죄송합니다.
      공돌이님의 블로그나 이메일 주소를 남기지 않아 댓글로 답변을 대신합니다.
      아무래도 공돌이님께서 AVD의 SD카드 메모리크기를 너무 크게 설정하신게 아닌가 싶습니다.
      관련 내용 위에 업데이트 했습니다.
      "A. 4. 이제 Virtual Device를 생성해야 한다." 란의 참고바랍니다.
      그럼 재밌는 Android 세상으로..

  2. 컴터학과 2010/03/05 11:23 # M/D Reply Permalink

    질문 하나만 하려구요.

    올려주신대로 했는데

    run을 하니

    Your project contains error(s), please fix them befor running your application

    이라는 경고창이 뜹니다. 왜 이러는 건가요??

  3. 공돌이 2010/03/08 17:05 # M/D Reply Permalink

    지금이서 답변을 보았습니다. 죄송합니다.

    저의 블로그 주소는 01099496543.tistory.com 입니다.

    이제는 잘 됩니다. 무엇이 잘못되었는지는 몰라도요 ㅎㅎ

    아무 잘 보고있습니다. 그래서 저의 블로그에도 글을 복사하였습니다 .

    퍼가기를 하고싶지만 티스토리로 퍼가는 방법을 몰라서요.

    저작권이 있다고 확실히 명시해두었습니다.

    글쓴이 님이 퍼가는걸 원하시지 않는다면 글 지우겠습니다 ^^

  4. 공돌이 2010/03/08 17:08 # M/D Reply Permalink

    아 하나만 더 물어봐도 될까요? New Project 만들때요,

    어플리케이션 네임과 패키지 네임, 그레이트 액티비티, 왜 넣어주는건지요?

    jsd8839@gmail.com 메일입니다.

    1. 좐군 2010/03/25 12:22 # M/D Permalink

      궁금하신 내용 메일로 간단히 보내드렸습니다.

  5. 비밀방문자 2010/03/25 01:03 # M/D Reply Permalink

    관리자만 볼 수 있는 댓글입니다.

    1. 좐군 2010/03/25 12:14 # M/D Permalink

      안녕하세요. 주인장입니다.
      답변이 늦어 죄송합니다.
      콘솔에 찍는 내용을 보아하니 아무래도
      "A. 2. Eclipse에서 Andorid 개발툴 플러그인을 설치하기"
      "A. 3. Eclipse에서 Windows > Android SDK and AVD Manager 선택한다."
      "A. 4. 이제 Virtual Device를 생성해야 한다"
      부터 순서대로 천천히 다시 한번 확인해보시구요

      그래도 해결되지 않으면 다시 한번 연락주십시오.

  6. 소울 2010/06/15 23:04 # M/D Reply Permalink

    오타있네요 ㅋㅋ
    max OS라니..

    1. 좐군 2010/06/15 23:12 # M/D Permalink

      지적 감사합니다.ㅋ

  7. by-스카이 2010/07/05 19:42 # M/D Reply Permalink

    좐군(주인장) 님
    올린 글대로 했는데 Your project contains error(s), please fix them befor running your application 이 뜨고요 그래서 안드로이드 sdk 로 킬려 하니
    emulator: ERROR: bad config: virtual device directory lacks config.ini
    emulator: could not find virtual device named 'Android_HVGA'
    가 떠요 ㅜㅜㅜㅜㅜ 빠른 답변 부탁합니다~

    1. 좐군 2010/07/21 07:45 # M/D Permalink

      주인장입니다.
      답변이 늦었네요
      아무래도
      Vitual Device를 설정이 문제인 것 같습니다.

      위 내용에서



      "A. 4. 이제 Virtual Device를 생성해야 한다.
      Android SDK and AVD Manager 창에서 Virtual Devices를 선택하고,
      [New...]버튼을 선택한다. "

      Android SDK and AVD Manager는 Eclipse에서 Windows 메뉴에 있답니다.

      이부분을 참고해서 차근차근 확인해보세요.
      해보시고 문제 있으시면 다시 글 남겨주세요

  8. 귀족 2010/07/20 16:03 # M/D Reply Permalink

    우와 감솨 ㅋ

  9. 궁금해요 2010/07/30 11:11 # M/D Reply Permalink

    SDK 와 AVD 다 설치하고 테스트예제 실행하는데
    아래 메세지가 나오고 에물레이더에 인스톨이 되지 않아요.
    에물레이더는 정상적으로 실행이 됩니다. 물론 어플은 설치되어있지 않구요
    머가 문제 일까요?
    개발환경 : 2.2플랫폼 메모리 64M 입니다.

    -- 아래 메세지 ---
    [2010-07-30 10:52:27 - scanbill] ------------------------------
    [2010-07-30 10:52:27 - scanbill] Android Launch!
    [2010-07-30 10:52:27 - scanbill] adb is running normally.
    [2010-07-30 10:52:27 - scanbill] Performing s.scan.view activity launch
    [2010-07-30 10:52:27 - scanbill] Automatic Target Mode: launching new emulator with compatible AVD 'android'
    [2010-07-30 10:52:27 - scanbill] Launching a new emulator with Virtual Device 'android'
    [2010-07-30 10:52:35 - scanbill] New emulator found: emulator-5554
    [2010-07-30 10:52:35 - scanbill] Waiting for HOME ('android.process.acore') to be launched...
    [2010-07-30 10:52:54 - Emulator] accept: Invalid argument

  10. 병아리 2010/09/03 14:10 # M/D Reply Permalink

    안녕하세요 쥔장님// 원하던 글을 찾아서 이리 저리 설치해보려고 하는데
    저는 설치부터 막힘니다 -_ -;;
    자바 설치하고(아무것도 않하고) Eclipsec압축풀고, 실행버튼 누르면,
    "Failed to create the Java Virtual Machine"
    이란 문구가 뜹니다.
    자바에서 문제가 있는 것 같은데, 정말 초보거든요..
    이제 독학으로 조금씩 시작해 보려고 하는데 첫 단계 부터 막히네여ㅠㅠ
    설치 환경은 winXP입니다.
    리플로 남겨주시면 확인 할께요.

    1. 좐군 2010/09/03 23:00 # M/D Permalink

      안녕하세요. 주인장입니다.
      아무래도 Java SE Development Kit (JDK6)를 설치 안하고
      Eclips부터 설치하고 실행하신게 아니신지요?

      다음 Java SE Development Kit (JDK6) 다운로드 경로입니다.
      http://java.sun.com/javase/downloads/widget/jdk6.jsp

      이상 있으시면 다시 질문해주세요

  11. 병아리 2010/09/06 14:19 # M/D Reply Permalink

    자바는 설치 했는데여
    실행하고 오류창 뜨기전에
    도스창에서
    Error occurred during initialization of VM
    Could not reserve enough space for object heap
    이라고 뜹니다.
    혹시 PC사양에 관한 문제인가용 -0 -;;;;

  12. 밍밍이 2011/06/12 01:00 # M/D Reply Permalink

    There is already a file or directory named "HelloWorld" in the selected location.
    이렇게떠요..
    파일이나 디렉토리를 선택한 위치에 "HelloWorld"라는 이미 사용 중입니다.

    이럴때 어떻게하죠.. 맨날 여기서 막혀요...

  13. ymk3831 2011/06/15 00:58 # M/D Reply Permalink

    3시간 걸렸습니다.

Leave a comment
[로그인][오픈아이디란?]

[펌]What is Android?

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

Features
•Application framework enabling reuse and replacement of components
Dalvik virtual machine optimized for mobile devices
•Integrated browser based on the open source WebKit engine
•Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
SQLite for structured data storage
•Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
•GSM Telephony (hardware dependent)
Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
•Camera, GPS, compass, and accelerometer (hardware dependent)
•Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

Android Architecture
사용자 삽입 이미지


















Applications
Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.


Application Framework
By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more.

Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.

Underlying all applications is a set of services and systems, including:

•A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser
•Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data
•A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files
•A Notification Manager that enables all applications to display custom alerts in the status bar
•An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack

For more details and a walkthrough of an application, see the Notepad Tutorial.


Libraries
Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:

System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
SGL - the underlying 2D graphics engine
3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
FreeType - bitmap and vector font rendering
SQLite - a powerful and lightweight relational database engine available to all applications


Android Runtime
Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.
Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.
The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

Linux Kernel
Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.



이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 좐군

2010/01/27 23:37 2010/01/27 23:37
,
Response
No Trackback , No Comment
RSS :
http://John.tobe30.com/tc/rss/response/277

Trackback URL : http://John.tobe30.com/tc/trackback/277

Leave a comment
[로그인][오픈아이디란?]