미국의 IT전문 방송인 씨넷TV는 아이폰보다 안드로이드폰이 나은 5가지 이유를 소개했다.

 

첫 번째는 오픈소스다. 구글은 안드로이드OS에 대해 오픈소스 정책을 펼치고 있는데 사용자가 OS를 해킹하더라도 이를 막거나 하지 않는다. 마켓플레이스 조차 제제하지 않기에 씨넷TV는 이를 진정한 ‘앱 민주주의’라 칭하고 있다.

 

두 번째로는 ‘진정한 멀티태스킹‘을 꼽았다. 애플의 아이폰도 멀티태스킹을 지원하기는 하지만 이는 제한적이고 또한 모든 앱에서 지원하지 않는다. 반면 안드로이드의 멀티태스킹은 PC와 마찬가지로 어떠한 상황에서도 여러 가지 앱을 동시에 실행시키는 ‘진정한 멀티태스킹‘을 지원 한다고 전했다.

 

세 번째와 네 번째는 ‘어도비 플래시‘ 지원, 그리고 다양한 기기의 선택을 꼽았다. 아이폰에선 플래시를 지원하지 않을뿐더러 기기의 선택이라곤 아이폰3Gs와 아이폰4 두 가지 밖에 없는 점을 지적했다.

 

마지막으로 다양한 통신사의 지원을 꼽았다. 미국을 포함한 다수의 국가에서 아이폰은 한 개의 통신사에서만 판매하는데 이는 소비자가 선택권을 무시한 처사라고 설명했다.

 

씨넷TV는 이러한 이유들 때문에 안드로이드폰의 점유율은 아이폰의 26%를 크게 앞지르는44%까지 치솟았으며 안드로이드폰의 전 세계적인 수출량은 1300%까지 급증했다고 전했다.미국의 IT전문 방송인 씨넷TV는 아이폰보다 안드로이드폰이 나은 5가지 이유를 소개했다.

 

첫 번째는 오픈소스다. 구글은 안드로이드OS에 대해 오픈소스 정책을 펼치고 있는데 사용자가 OS를 해킹하더라도 이를 막거나 하지 않는다. 마켓플레이스 조차 제제하지 않기에 씨넷TV는 이를 진정한 ‘앱 민주주의’라 칭하고 있다.

 

두 번째로는 ‘진정한 멀티태스킹‘을 꼽았다. 애플의 아이폰도 멀티태스킹을 지원하기는 하지만 이는 제한적이고 또한 모든 앱에서 지원하지 않는다. 반면 안드로이드의 멀티태스킹은 PC와 마찬가지로 어떠한 상황에서도 여러 가지 앱을 동시에 실행시키는 ‘진정한 멀티태스킹‘을 지원 한다고 전했다.

 

세 번째와 네 번째는 ‘어도비 플래시‘ 지원, 그리고 다양한 기기의 선택을 꼽았다. 아이폰에선 플래시를 지원하지 않을뿐더러 기기의 선택이라곤 아이폰3Gs와 아이폰4 두 가지 밖에 없는 점을 지적했다.

 

마지막으로 다양한 통신사의 지원을 꼽았다. 미국을 포함한 다수의 국가에서 아이폰은 한 개의 통신사에서만 판매하는데 이는 소비자가 선택권을 무시한 처사라고 설명했다.

 

씨넷TV는 이러한 이유들 때문에 안드로이드폰의 점유율은 아이폰의 26%를 크게 앞지르는44%까지 치솟았으며 안드로이드폰의 전 세계적인 수출량은 1300%까지 급증했다고 전했다.첫 번째는 오픈소스다. 구글은 안드로이드OS에 대해 오픈소스 정책을 펼치고 있는데 사용자가 OS를 해킹하더라도 이를 막거나 하지 않는다. 마켓플레이스 조차 제제하지 않기에 씨넷TV는 이를 진정한 ‘앱 민주주의’라 칭하고 있다.

 

두 번째로는 ‘진정한 멀티태스킹‘을 꼽았다. 애플의 아이폰도 멀티태스킹을 지원하기는 하지만 이는 제한적이고 또한 모든 앱에서 지원하지 않는다. 반면 안드로이드의 멀티태스킹은 PC와 마찬가지로 어떠한 상황에서도 여러 가지 앱을 동시에 실행시키는 ‘진정한 멀티태스킹‘을 지원 한다고 전했다.

 

세 번째와 네 번째는 ‘어도비 플래시‘ 지원, 그리고 다양한 기기의 선택을 꼽았다. 아이폰에선 플래시를 지원하지 않을뿐더러 기기의 선택이라곤 아이폰3Gs와 아이폰4 두 가지 밖에 없는 점을 지적했다.

 

마지막으로 다양한 통신사의 지원을 꼽았다. 미국을 포함한 다수의 국가에서 아이폰은 한 개의 통신사에서만 판매하는데 이는 소비자가 선택권을 무시한 처사라고 설명했다.

 

씨넷TV는 이러한 이유들 때문에 안드로이드폰의 점유율은 아이폰의 26%를 크게 앞지르는44%까지 치솟았으며 안드로이드폰의 전 세계적인 수출량은 1300%까지 급증했다고 전했다.
* 안드로이드

구글 안도로이드는 개방적이고 무료인 최초의 모바일 플랫폼이다.
  • 모바일 사용자 : 다양하고 많은 컨텐츠
  • 이동통신 : 수익성 높은 방식으로 컨텐츠 통제
  • 모바일 개발자 : 콘텐츠 개발을 통한 수익
  • 단말기 제조사 : 저렴한 비용으로 사용할 수 있는 플랫폼
특징
  • 라이센스 사용료가 없다.
  • 운영체제 : GPL v2
  • 플랫폼 : ASL / Apache2
  • 카메라, 센서, GPS, Wi-Fi 등의 하드웨어 접근 가능
  • 구글맵 지원
  • 백그라운드 서비스 지원
  • SQLite 데이터베이스 지원
  • 공유데이터와 어플리케이션 간의 통신을 지원
  • 2D / 3D 지원
  • 최적화된 메모리와 프로세스 관리
실행환경

어플리케이션 
Email 클라이언트, SMS 프로그램, 달력,
지도, 브라우저 등의 코어 어플리케이션 
어플리케이션 프레임워크 
안드로이드 어플리케이션 개발 시
필요한 API 를 제공 
라이브러리 (Android Runtime) 
안드로이드 프레임워크에서 필요한 C 와
C++ 라이브러리 
리눅스 커널 
메모리 관리, 프로세스 관리, 네트워크 세펠 등
하드웨어 지원 



개발환경구축 (리소스 다운로드)
  • Android SDK
    • Download : http://developer.android.com/sdk/index.html/
  • Eclipse galileo
    • Download : http://www.eclipse.org/downloads/
  • Java SDK
    • Download : http://java.sun.com/javase/downloads/index.jsp
  • Eclipse ADT Plugin
    • Download : https://dl-ssl.google.com/android/eclipse/
구글 안드로이드 개발자 사이트
http://developer.android.com/index.html

구글 안드로이드 개발형태
  1. Managed Code
    • Java 로 Dalvik VM 에서 동작하는 프로그램을 작성하는 방식
  2. Web Apps
    • 웹 서버에 웹페이지를 작성하고 이를 안드로이드의 브라우저로 실행하는 방식
  3. Native Code
    • C / C++ 로 작성된 라이브러리를 Dalvik 에서 JNI (Java Native Interface)  형태로 호출하는 방식

안드로이드 어플리케이션 프로젝트 구조

assets : 디바이스에 어플리케이션을 설치할때 함께 설치할 데이터 파일.
bin : 컴파일 된 어플리케이션 파일
gen : 안드로이드 빌드 시스템에 의해 자동으로 생성된 리소스 참조 파일
res : 문자열, 이미지등 어플리케이션에서 사용할 리소스 파일
src : 어플리케이션 소스코드

AndroidManifest.xml : 어플리케이션의 기본 설정 파일
default.properties : Ant 빌드 스크립트에서 참조하는 설정 파일

리소스 디렉토리 구조
  • res/drawable-hdpi : 해당 해상도에서 보여질 이미지
  • res/drawable-ldpi : 해당 해상도에서 보여질 이미지
  • res/drawable-mdpi : 해당 해상도에서 보여질 이미지
  • res/layout : 사용자 인터페이스에서 레이아웃을 정의하는 XML 파일
  • res/menu : 메뉴를 정의하는 XML 파일
  • res/values : 문자열 등 각종 값을 정의하는 파일
  • res/xml : XML 형태로 저장된 다양한 파일
  • res/raw : 기타 파일 (mp3, mp4 등등)
결과 디렉토리 구조
  • bin/classes/ : 컴파일된 자바 클래스
  • bin/classes.dex : 컴파일된 자바 클래스로 생성한 Dalvik 클래스 파일
  • bin/resources.ap_ : 컴파일된 자바 클래스로 생성한 Dalvik 클래스 파일
  • bin/app_name.apk : 컴파일된 자바 클래스로 생성한 Dalvik 클래스 파일
AndroidManifest.xml 파일 구조


<use-permission> 애플리케이션이 필요로 하는 권한
<permission> 외부 액티비니나 서비스가 필요로 하는 권한
<instruction> 액티비티가 실행되는 등의 주요이벤트가 발생했을때 어플리케이션의 어떤 부분을
 호출할 지를 결정 (기록, 모니터링)
<uses-library> 추가로 필요로 하는 라이브러리 지정 (구글맵스)
<uses-sdk> 어플리케이션이 필요로 하는 안드로이드 버전
<application> 어플리케이션과 관련된 정보

<activity> 어플리케이션이 사용할 클래스 지정
<service> 백그라운드에서 실행할 클래스 지정
<receiver> 브로드캐스트 리시버 클래스 지정
<use-library> 어플리케이션에서 사용할 외부 라이브러리


+ Recent posts