본문 바로가기

프로그래밍/Android SDK

[Android] 왕초보탈출. 세팅부터 프로그래밍까지 #2


* 글을 시작하기 앞서 여러 자료 들 중 저도 출처가 기억이 잘 나지않는(그때 그때 스크랩 해놓았던 자료들..)
자료가 있을 수 있습니다. 댓글 달아주시면 바로 저작자 내용 수정하도록하겠습니다 :-)




미리 말씀드리지만, 1편보다는 조금 짧은! 번외적인 내용도 있는 2편이 될 것 같습니다.; ㅎㅎ

클릭 부탁드려요!
 
  AVD 설치하기
   

안드로이드 에뮬을 개발한 뒤에는 수 많은 테스트를 해야합니다.
저도 모르는 에러가 일반 소프트웨어개발 할 때보다 개인적으로 많이 튀어나오더군요..
(네 실력이 허접합니다 ㅠ.ㅠ)

안드로이드 폰이 있어서 그 안에다 자신이 만든 어플을 넣고 테스트 한다면 더 할나위가 없겠지만~
번거롭게 매번 넣어서 테스트 해 볼수는 없고, 저 같이 개인 소유 안드로폰이 없는 가난뱅이에겐 AVD는 필수적입니다 !!

Android Virtual Device 의 약자로써, 가상 환경에서 스마트폰 처럼 구동 시켜주는 에뮬레이터 입니다.
함께 설치해봅지요..

일단 SDK의 경로를 설정해줍니다.





Apply를 클릭하면 위에 설치된 SDK가 주르륵 나오게됩니다. 그럼 OK눌러서 나와주시구요~

앞의 1편을 모두 따라해주셨다면 이클립스에 아래 그림의 빨간 상자같은 부분이 생기셨을겁니다!
기본적인 설정, SDK의 경로를 Eclipse에 알려주는 것 까지 세팅을 했기 때문에 이제 AVD 설정을 해보도록 하겠습니다!



 


Name은 아무렇게나 해주시면 됩니다. Target은 지금 3.0을 기준으로 하고있기 때문에 3.0으로 세팅하였습니다.
Size는 1024로 잡아주시면되고, SkinBuilt-in 기본값으로 만들어 보도록 하겠습니다 :)
(위 세팅은 모토로라 Xoom을 기준으로 하였습니다 ! )

 


목록에 생성한 AVD가 나왔다면 선택 후 Start를 눌러주세요!


바로 나오는 이 창에서는 후에 개발한 앱을 테스트 할 때 해상도 조정 및 부가 옵션을 지정하기 위한 창입니다.
AVD가 불량인지 아닌지 테스트하는 것이기 때문에 Launch를 클릭해주세요~
(개발 중간중간 테스트 시에 화면이 너무 커서 사용하시기 불편하시다면,
이 창에서 Scale display to Real size를 체크 후 사이즈를 조절해주시면 됩니다 :) )

꽤 오랜 기다림이 필요합니다 -_-................
허니컴되면 좀 빠를줄 알았더니 그것도 아니군요 ㅠ_ㅠ..


나왔습니다!! 나름 산뜻하군요 :)
저는 영어 알레르기가 있기에.. 우리 사랑스런 한글로 바꿔보도록 하겠습니다.
화면 오른쪽 위의 Apps를 눌러주세요.


다음과 같은 화면이 나오면 Settings를 클릭!


Language & input 을 클릭한 후 Select language를 클릭해주세요.
(느리다고 더블클릭하시면 난감한 언어가 선택되니 주의하세요..)


마우스휠로 (추천!!) 내리다보면 맨 아래쪽에 한국어가 있습니다. 클릭!


세팅이 완료된 모습입니다~
테스트 시에 가로 세로 전환은 CTRL + F11 입니다. 참고하세요 ^^




 

 
  허니컴(Android 3.0). 무엇이 달라졌나요?
    

출처: 보드나라
http://www.bodnara.co.kr/bbs/article.html?imode=view&D=7&cate=19&d_category=10&num=81550

 

타블렛을 위한 안드로이드 3.0 허니컴 하이라이트

구글(Google)에서 타블렛 PC 전용 운영체제(OS) 안드로이드 3.0 플랫폼 SDK를 발표했다. 당초 예정했던 대로 2월 2일(현지시간) 발표된 안드로이드 3.0 플랫폼 허니컴(Honeycomb)에 대한 새로운 기능 발표와 함께 SDK 다운로드 제공을 시작했다.

이미 알려진 대로 안드로이드 3.0 허니컴은 스마트폰이 아니라 타블렛을 위해 만들어진 운영체제로 모토로라의 XOOM을 통해 CES 2011에서 공식 발표되었으며, 이후 안드로이드 이벤트를 통해 관련 정보가 보다 자세히 전달되었다.

현재 3.0 허니컴은 안드로이드 타블렛 제조사들에게 안정화 버전이 제공된 것으로 알려지고 있는데, 그 시기가 채 한달이 되지 않은 것으로 알려져 허니컴 지원 타블렛들의 본격적인 출시는 빨라야 1분기 말에서 2분기가 될 것으로 예상된다.

그렇다면 스마트폰 OS였던 안드로이드 2.x 버전이 들어간 기존 안드로이드 타블렛들과 3.0 허니컴의 차이는 어떤 것들이 있을까?

 

 

타블렛을 위해 기초부터 새롭게 디자인한 UI(유저 인터페이스)

구글은 안드로이드 3.0 버전에 대해 큰 화면을 가진 타블렛을 위해 새로운 인터페이스(UI)를 바닥부터 다시 설계했으며, 컨텐츠 중심의 상호 작용 모델로 '홀로그래픽(holographic)' UI 디자인이라고 명명했다.

 

화면 아래/위에 시스템 바와 액션 바를 배치

안드로이드 3.0 플랫폼은 시스템과 모든 애플리케이션에서 알림 및 시스템 상태에 빠른 액세스가 가능하며, 물리적인 버튼을 제공하던 안드로이드 2.x 버전대의 스마트폰과 달리 소프트 탐색 버튼을 스크린 하단 시스템 바에 배치했다.

시스템 바는 화면 하단에 항상 보여지는 핵심적인 터치포인트지만, 새로운 '라이트 아웃 모드(lights out mode)'를 통해 동영상 재생과 같은 풀 스크린 보기를 이용할 경우 화면에서 사라지게 할 수도 있다.

모든 애플리케이션에서 사용자는 화면 상단에 위치한 액션 바(작업 표시줄)를 통해 문맥(contexual) 옵션, 탐색, 위젯, 또는 다른 타입의 컨텐츠에 액세스 할 수 있다. 액션 바는 애플리케이션이 사용될 때 항상 표시되며, 유저들은 작업 항목과 오버플로우 드롭 다운 메뉴를 대부분의 애플리케이션에서 비슷한 방식으로 액세스 할 수 있다.

 

사용자 설정이 가능한 홈 스크린

안드로이드 스마트폰처럼 타블렛도 홈 스크린을 사용자가 원하는 대로 구성할 수 있는 커스트마이즈(사용자 정의) 기능을 제공한다. 뿐만 아니라 5개의 홈 스크린이 큰 격자 형태로 하나의 화면에 나열되는 전용 비주얼 레이아웃 모드를 이용해 각 스크린을 일일이 이동하지 않고도 홈 화면 위젯, 애플리케이션 바로 가기, 바탕화면을 선택 및 조작한다.

각 홈 스크린은 또한 앱과 연락처, 미디어 파일, 웹 컨텐츠 등을 통합 검색하는 검색 상자(Search box)처럼 모든 설치된 애플리케이션들에 액세스 할 수 있는 익숙한 런처를 제공한다.

 

쉬운 비주얼 멀티태스킹을 위한 최근 실행 앱

멀티태스킹은 안드로이드의 중요한 강점이며 안드로이드 3.0 경험의 중심이다. 사용자가 애플리케이션에서 다양한 작업을 수행하고 있는 경우, 시스템 바에서 최근 실행된 앱의 상태를 보고 해당 앱으로 바로 이동할 수 있다.

특히 사용자가 빠르게 각 애플리케이션에 연관된 작업을 인식할 수 있도록 마지막으로 그것을 이용했던 상태를 스냅샷으로 보여준다.

 

 

개선된 텍스트 선택 기능과 재디자인된 키보드

안드로이드 3.0의 새로운 UI에서는 텍스트를 볼 때 사용자가 단어를 누르고 있으면 텍스트 선택이 되고, 양쪽 끝에 있는 화살표를 움직여 선택 영역을 조절할 수 있다. 사용자는 액션 바를 통해 선택된 단어나 문장을 클립보드로 복사하거나 공유, 붙여넣기, 웹 검색, 또는 찾기 기능에 이용 가능하다.

터치스크린을 이용하는 안드로이드 소프트 키보드는 큰 화면 크기에서 신속하고 정확하게 텍스트를 입력할 수 있게 다시 디자인되었다. 입력 개선을 위해 키들의 모양을 고치고 자리를 재배열했으며, Tab키와 같이 보다 효율적인 키 입력을 돕는 새로운 키들이 추가되었다. 사용자들은 키를 터치하거나 누르는 것으로 특수 문자 메뉴에 액세스하거나 시스템 바에 있는 버튼으로 텍스트/보이스 입력 모드를 전환할 수 있다.

 

새로운 연결 옵션

안드로이드 3.0은 사용자가 편리하고 다양하게 쓸 수 있는 새로운 연결 기능을 포함하고 있다. 미디어/사진 전송 프로토콜 지원을 내장해 사용자가 USB로 연결된 카메라나, PC, 대용량 저장장치에서 미디어 파일을 즉시 동기화 할 수 있다. 또한 USB나 블루투스 방식의 키보드를 연결해 가상 키보드 대신 텍스트 입력도 가능하다.

주파수와 필터를 가로지르는 검색 시간을 줄여주는 새로운 콤보 스캔으로 무선랜(Wi-Fi) 연결을 개선했고, 보다 많은 장치들이 안드로이드 기기와 네트워크 연결을 공유할 수 있도록 블루투스 테더링 지원 기능이 들어갔다.

 

 

표준 애플리케이션들에 들어간 새로운 기능

안드로이드 3.0 허니컴 플랫폼은 OS에 기본 포함된 표준 애플리케이션들도 타블렛의 큰 화면에 맞게 디자인하고 새로운 기능들을 추가했다.

 

브라우저

브라우저는 사용자가 보다 효율적으로 인터넷 페이지의 이동 및 정리를 할 수 있도록, PC용 구글 크롬 브라우저의 기능을 타블렛에 도입했다. 기존의 안드로이드폰처럼 페이지별로 여러 개의 브라우저 윈도우를 만들지 않고 다중 탭 방식으로 간단히 브라우저 이동이 가능하며, 크롬 브라우저가 지원하는 웹 기록이나 검색 기록을 남기지 않는 시크릿 모드(incognito 모드)도 안드로이드 3.0 브라우저에서 지원된다.

사용자는 브라우저에서 구글 사이트에 자동으로 로그인하는 것을 선택하면, 구글 크롬과 계정 및 북마크를 동기화할 수 있다. 새로운 멀티터치 지원으로 자바스크립트와 플러그인 이용이 가능해졌고, 유저들은 모바일용으로 만들어진 사이트가 아니라도 브라우징을 즐길 수 있도록 줌(zoom) 기능과 뷰포트 모델, 오버플로우 스크롤, 위치 고정, 기타 여러 기능들을 개선했다.

 

카메라와 갤러리

카메라 애플리케이션은 커진 화면에서 노출, 초점, 플래시, 줌, 전면 카메라와 같은 기능에 빠르게 액세스 할 수 있도록 재디자인되었다.

기존의 안드로이드폰용 카메라 프로그램은 이런 기능을 일일이 메뉴에 들어가서 조절했지만 타블렛용 카메라 애플리케이션은 터치스크린을 쓰는 일반 컴팩트 디카의 메뉴 구성과 상당히 비슷해졌다. 또한 저속 동영상 촬영 기능이 들어갔다. 갤러리 애플리케이션에서는 사용자가 앨범과 다른 컬렉션들을 풀 스크린 모드로 볼 수 있다.

 

연락처(Contacs)

연락처 앱은 새로운 2개의 창(two-pane) UI와 빠른 스크롤을 이용해 사용자들이 쉽게 연락처를 정리하거나 찾을 수 있도록 했다.

애플리케이션에서 자국과 국제 번호 분석 라이브러리를 기반으로 사용자 타입에 따라 개선된 국제 전화번호 서식을 제공한다. 연락처 정보는 카드처럼 생긴 UI로 만들어 사용자가 쉽게 읽고 편집할 수 있도록 했다.

 

이메일(Email)

이메일 애플리케이션도 연락처와 마찬가지로 메뉴와 본문이 2개의 창으로 구성되어 메시지 보기와 관리가 보다 편해졌다.

사용자는 한 개 또는 여러 개의 메시지를 선택해 액션 바에 있는 기능으로 폴더로 옮기는 등의 작업을 할 수 있다. 사용자는 홈 스크린 위젯을 사용해 나중에 볼 수 있도록 첨부 파일을 동기화하고 이메일 추적 기능을 사용할 수 있다.

 

유튜브와 구글 지도

구글 안드로이드에 기본 탑재되는 유튜브와 구글 지도 서비스도 타블렛 화면에 맞춰서 레이아웃이 크게 변경되었다. 구글 지도는 3D 지도 표시와 함께 지역 정보를 팝업으로 나타내고 스트리트 뷰 기능도 제공된다. 그러나 무엇보다 화면이 커져서 지도 보기가 편해진다.

유튜브 서비스는 아이패드 버전처럼 초기 화면에 추천 동영상이 나열되는데, 이를 입체감을 주는 그리드 방식으로 표시한다. 동영상 정보와 관련 동영상을 우측에 나열하는 것은 일반 PC, 아이패드용 유튜브 레이아웃과 같다.

 

 

개발자들을 위한 안드로이드 3.0 주요 기능

그 외에 안드로이드 3.0 플랫폼은 타블렛 애플리케이션 개발을 위해 새로운 개발자 기능들도 추가되었다.

 

안드로이드 3.0 Fragments UI

안드로이드 3.0 Fragments UI는 개발자들이 다양한 해상도와 화면 모드에 따라 애플리케이션 레이아웃을 변경하거나 기능들을 조절할 수 있도록 Fragment(파편) 클래스를 추가해 이를 조합하거나 재배치하는 방식으로 원하는 UI를 손쉽게 구성할 수 있도록 했다.

예를 들어 가로 픽셀 길이가 긴 상태에서 왼쪽에는 메뉴, 오른쪽에는 상세 정보가 표시되는 UI가 있었다면, 화면을 세로로 돌렸을 때 메뉴와 상세 정보가 한꺼번에 표시되지 못하므로 이를 조절해 메뉴만 앞에 보이고 상세 정보는 메뉴의 항목을 클릭하면 나오는 것으로 바뀌게 된다. Fragment 기능을 사용하면 이 작업을 쉽고 효율적으로 처리할 수 있도록 메뉴 표시나 데이터의 저장 및 복원을 도와준다.

 

재디자인된 UI 위젯

새로운 UI 위젯은 타블렛과 같은 큰 화면에서 사용하기 위해 재디자인 되었고, 안드로이드 3.0에 들어가는 새로운 홀로그래픽 UI 테마를 포함하고 있다. 홀로그래픽 UI 테마에서는 3D 스택과 검색 박스, date/time picker, number picker, 캘린더, 팝업 메뉴, 기타 여러 가지를 포함하한 몇가지 새로운 위젯 타입을 사용할 수 있다. 대부분의 재디자인된 UI 위젯들은 홈 스크린에서 보여지는 애플리케이션 위젯들은 이제 리모트 뷰로 사용될 수 있으며, 이전 버전을 위해 작성된 애플리케이션들도 새로운 위젯 디자인과 테마를 계승할 수 있다.

 

확장된 홈 스크린 위젯

홈 스크린 위젯은 애플리케이션 특정 데이터를 빠르게 홈 스크린에서 직접 액세스 할 수 있어 사용자들에게 인기가 많다. 안드로이드 3.0에서는 홈 스크린 위젯의 다음 단계로, 더 많은 종류의 컨텐츠와 새로운 상호작용 모드를 제공한다.

개발자들은 이제 보다 많은 표준 UI 위젯을 사용해 3D 스택 방식이나 그리드, 또는 리스트 방식으로 컨텐츠를 모을 수 있으며, 사용자는 위젯에 보이는 컨텐츠를 터치스크린을 넘기거나 스크롤한다.

 

영구적인 액션 바

안드로이드 2.x 기반 스마트폰에서는 애플리케이션별 세부 메뉴들이 별도의 버튼을 눌러서 확인해야 했지만, 안드로이드 3.0 타블렛은 화면 상단에 해당 애플리케이셔느이 액션 바(작업 표시줄)이 계속 표시되어 사용자들이 빠르게 메뉴를 이용할 수 있다. 액션 바가 표시되는 시간이나 내용 등은 개발자가 커스트마이즈 할 수 있으며, 같은 위치에 액션 바가 만들어지므로 PC용 프로그램처럼 애플리케이션 종류가 다르더라도 사용자가 메뉴 사용에 어려움을 겪지 않게 된다.

 

풍부한 알림 기능

알림(Notificications)은 애플리케이션의 업데이트와 상태 정보를 보여주기 때문에 안드로이드 사용자 경험에 중요한 기능이다. 안드로이드 3.0은 이를 확장시켜 개발자가 풍부한 컨텐츠를 포함하고 더 많은 속성을 제어할 수 있도록 했다.

 

다중 선택, 클립보드, 드래그 앤 드롭

안드로이드 3.0 허니컴에서는 유저들이 한번의 조작으로 여러 개의 아이템을 선택할 수 있는 다중선택(Multiselect) 모드를 개발자들에게 제공한다. 또한 유저들과 어떤 종류의 데이터라도 애플리케이션에서 쉽게 복사할 수 있는 새로운 클립보드 시스템이 탑재되며, DragEvent 프레임워크를 통해 드래그 앤 드롭 기능도 적용 가능하다.

 

새로운 애니메이션 프레임워크

기존 안드로이드 스마트폰과 달리 타블렛용 3.0 허니컴은 새롭고 유연한 애니메이션 프레임워크를 포함해 개발자들이 쉽게 뷰, 위젯, Fragment, Drawable, 오브젝트 등의 UI 속성 요소의 동작을 이용하도록 했다.

UI 요소에 애니메이션을 적용하면 사라지거나 슬레이트 사이로 이동, 움직이는 이미지의 반복, 색상 변경, 기타 여러 가지를 만들어 애플리케이션에 시각적인 흥미를 유발할 수 있게 된다.

 

2D 그래픽 하드웨어 가속

안드로이드 3.0은 안드로이드 프레임워크에서 동작하는 애플리케이션들을 위해 일반적으로 많은 그래픽 작업에서 성능을 향상시킬 수 있는 새로운 하드웨어 가속 OpenGL 렌더러를 지원한다.

렌더러를 활성화시키면 Canvas, Paint, Xfermode, ColorFiler, Shader, 그리고 Camera 내의 대부분 작업들이 가속된다. 개발자는 하드웨어 가속을 어떻게 사용할 것인지 모든 레벨에서 제어할 수 있어, 애플리케이션에서 전체적으로 활성화 시키거나 애플리케이션 내부의 특정 상황에서 동작시킬 수도 있다.

 

렌더스크립트(Renderscript) 3D 그래픽 엔진

렌더스크립트는 런타임 3D 프레임워크로 3D 장면을 만들기 위한 API와 최대 성능을 위한 플랫폼 독립적인 쉐이더 언어를 모두 제공한다. 렌더스크립트를 사용하면 개발자는 그래픽 작업과 데이터 처리를 가속할 수 있다. 구글은 렌더스크립트가 애플리케이션과 배경화면, 회전식 디자인(carousels) 등에서 고성능 3D 효과를 만들 수 있는 이상적인 방법이라고 언급했다.

 

멀티 코어 프로세서 아키텍처 지원

안드로이드 3.0은 싱글이나 멀티 코어 프로세서 아키텍처에서 돌아가도록 디자인된 첫 번째 안드로이드 플랫폼 버전이다. Dalvik VM, Bionic 라이브러리의 각가지 종류를 바꿨으며, 멀티코어 환경에서 대칭형 멀티프로세싱을 위한 지원을 추가했다.

이러한 최적화는 싱글스레드까지 포함한 모든 애플리케이션에 이득을 준다. 예를 들어 2개의 동작 코어가 있다면, 쓸모 없는 객체들을 처리하는 Davik 가비지 콜렉터(garbage collector)가 두 번째 코어에서 실행되고, 싱글스레드를 사용하는 첫 번째 코어에 영향을 주지 않기 때문에 싱글스레드 프로그램의 성능이 성능이 낮아지지 않고 계속 최대 성능을 발휘할 수 있다. 안드로이드 3.0 시스템에서 멀티코어에 맞춰 이런 작업들을 자동으로 배열한다.

 



이수원 수석기자 / swlee@bodnara.co.kr

Creative Commons License 보드나라의 기사는 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 원본 배포처에서 이용할 수 있습니다. Copyright ⓒ 넥스젠리서치(주) 보드나라 원본 배포처 가기


----------------------------------------------------------------------------------------------------------------

은근히 내용이 길어졌군요..; ㅎㅎ

그럼 3편에서 이어서 쓰도록 하겠습니다!



(댓글 & 추천은 힘이됩니다!!ㅋㅋ)