Top

Android User Interface Development 한국어판 [안드로이드 UI 프로그래밍]

  • 원서명Android User Interface Development: Beginner's Guide (ISBN 9781849514484)
  • 지은이제이슨 모리스
  • 옮긴이장재현
  • ISBN : 9788960772182
  • 30,000원
  • 2011년 08월 05일 펴냄
  • 페이퍼백 | 380쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 모바일 프로그래밍

책 소개

소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/android-ui)


안드로이드의 사용자 인터페이스(UI)는 예쁘지 않다고 생각하는가? 이 책은 그런 편견을 없애 주는 책이다. 안드로이드의 기능을 단순히 나열하는 것이 아니라, 위젯과 레이아웃 등 철저하게 UI 관점에서 각 기능을 설명한다. 각 장을 읽으며 풍부한 실습 예제를 따라하다 보면, 어느새 예쁘고 직관적인 안드로이드 UI를 만들어 낼 수 있을 것이다. 모바일 애플리케이션에서 기능성보다 중요한 것이 UI이기 때문에, 이 책으로 안드로이드 개발을 시작하는 것은 훌륭한 선택이다. 또한 이 책은 그 동안 자신의 UI에 아쉬움이 있었던 중급 개발자에게도 제격이다.


[ 소개 ]

초보자를 위한 안드로이드 UI 개발 가이드

매력적인 안드로이드 UI를 디자인하고 개발하려는 이들을 위한 실용 지침서

다운로드 횟수 백만 회를 넘는 안드로이드 애플리케이션은 이미 수만 개가 넘는다. 어떻게 하면 당신의 애플리케이션을 돋보이게 만들 수 있을까? 사용자에게 간택받느냐 혹은 영원히 삭제당하느냐. 당신이 만든 애플리케이션의 운명은 룩앤필과 UI에 달려있다. 시장에서 살아남고 싶다면 사람들이 이해하고 즐길 수 있는 멋진 UI를 만들어야 한다.


[ 이 책에서 다루는 내용 ]

• 효과적인 사용자 인터페이스를 디자인하기 위한 안드로이드 플랫폼의 특성과 성능 활용
• 스타일과 테마가 차별화된 자신만의 애플리케이션 만들기
• 다양한 시각적 애니메이션 기법을 통한 사용자 만족도 향상
• 주소록이나 달력 등 안드로이드 위젯을 활용한 복잡한 데이터 구조 처리
• 애플리케이션 구성요소 재사용을 통한 일관된 사용자 경험 확보와 성능 향상
• 안드로이드 리소스 로딩 시스템 제어


[ 이 책의 특징 ]

• 안드로이드 UI 개발의 필수 노하우에 대한 친절하고 명쾌한 단계적 설명
• 배운 내용을 바로 응용할 수 있는 경험을 통한 학습
• 지겹고 뻔한 내용의 과감한 생략
• 독자의 상상력을 자극하는 생생하고 재미있는 예제
• 참여를 유도하는 예제와 과제


[ 이 책의 대상 독자 ]

이 책은 안드로이드 플랫폼에서 애플리케이션을 만들기 원하는 자바 경험이 어느 정도 있는 개발자를 위한 책이다. 또한 안드로이드 플랫폼에서 애플리케이션을 개발한 개발자가 애플리케이션의 사용자 인터페이스 디자인에 관한 추가 지식을 얻고자 사용할 수도 있다. 물론 안드로이드 플랫폼이 제공하는 많은 위젯과 리소스 구조에 관한 좋은 참고 자료이기도 하다.
이 책은 다음 독자에게 유용하다.

• 안드로이드 개발을 배우는 자바 개발자
• 기술을 넓히고자 하는 MIDP 개발자
• 애플리케이션 포팅을 원하는 아이폰 개발자
• 사용자 기반을 확대하고자 하는 기업형 안드로이드 개발자


[ 이 책의 구성 ]

1장. 간단한 액티비티 개발에서는 간단한 사용자 인터페이스로 시작해 안드로이드 애플리케이션을 만드는 기본에 대해 소개한다. 그리고 코드로 디자인을 구현할 때 사용할 수 있는 다양한 옵션도 다룬다.

2장. 뷰로 데이터 나타내기에서는 어댑터 기반 위젯은 어떻게 사용하고, 안드로이드의 모델-뷰-컨트롤러(MVC) 구조는 무엇인지 살펴본다. 이 위젯들에 대해 알아보고, 어디에서 가장 많이 사용되는지 살펴본다.

3장. 스페셜 안드로이드 위젯 개발에서는 안드로이드 플랫폼에서 제공하는 좀 더 특별한 위젯에 대해 자세히 살펴본다. 그리고 그것이 어떻게 일반 위젯과 연관되는지 알아본다. 이 장은 갤러리와 평점 위젯(rating-bar) 등을 다루고, 그 위젯들을 어떻게 사용하고 꾸미는지 알아본다.

4장. 액티비티와 인텐트에서는 안드로이드에서 애플리케이션이 어떻게 동작하는지 논의하고, 어떻게 하면 멋진 사용자 인터페이스를 작성할 수 있는지도 알아본다. 이 장에서는 어떻게 최소한의 노력으로 애플리케이션이 사용자가 기대하는 방향으로 동작할 수 있는지에 대하여 살펴본다.

5장. 비선형 레이아웃에서는 안드로이드가 제공하는 고급 레이아웃 기법을 살펴본다. 안드로이드 기기마다 화면이 다른 점을 고려해 사용자에게 각기 다른 화면을 보여줄 수 있는 방법에 대해 이야기한다.

6장. 입력과 검증에서는 사용자로부터 입력을 받는 방법과 어떻게 하면 최대한 덜 힘들게 이 경험을 유지할 수 있는지를 알아본다. 그리고 안드로이드가 제공하는 입력 위젯과 상황에 따른 적절한 설정 방법도 다룬다. 또한 어떤 동작이 실패했을 때, 무엇이 잘못됐는지 사용자에게 알려주는 방법도 알아본다.

7장. 위젯과 레이아웃 애니메이션은 안드로이드 사용자 인터페이스를 어디서, 언제, 왜, 어떻게 애니메이션하면 되는지 알려준다. 또한 기본적으로 어떤 애니메이션이 제공되는지 알아보며, 애니메이션을 어떻게 조합하고 만드는지 알아본다. 모바일 사용자 인터페이스에서 애니메이션의 중요성에 대하여 이야기하고, 안드로이드에서 복잡한 애니메이션을 얼마나 쉽게 만들 수 있는지도 확인할 수 있다.

8장. 콘텐츠 중심 디자인에서는 화면에 정보를 보여줄 때, 화면 레이아웃을 어떻게 디자인하면 되는지 자세히 살펴본다. 그리고 안드로이드가 제공하는 여러 디스플레이 기법의 장단점을 살펴본다.

9장. 안드로이드 애플리케이션 스타일 만들기는 애플리케이션을 사용하기 쉽도록 하기 위해 전체 애플리케이션의 일관성을 유지하는 방법을 알려준다.

10장. 애플리케이션 테마 만들기에서는 디자인 프로세스를 살펴보고, 애플리케이션이 돋보이도록 애플리케이션 테마를 적용하는 방법을 알아본다.

저자/역자 소개

제이슨 모리스 (Jason Morris)
과일 추적 시스템, 보험 시스템, 여행 검색/예약 엔진 등 다양한 분야의 소프트웨어를 개발했다. 꽤 오랫동안 소프트웨어를 작성해온 저자는 현재 남아프리카의 트래블스타트(Travelstart)에서 소프트웨어 아키텍트로 일하고 있다. 다양한 프론트엔드와 미들웨어 시스템 분야에서 일하며, 자바 기반의 다양한 기술 발전에 기여하고 있다.


[ 옮긴이의 말 ]

당신의 스마트폰에서 삭제 되지 않고 오래 남아있는 애플리케이션은 어떤 유형인가? 사용자는 어떤 애플리케이션을 자주 쓰게 될까? 사람들은 기능이 다양하고 복잡한 애플리케이션보다는 사용자 인터페이스가 깔끔하고 직관적인 쪽을 선호한다. 애플리케이션의 룩앤필이 어딘가 부족해 보이는 애플리케이션은 언제나 ‘제거 대상’ 1호다. PC 환경과는 다르게 손쉽고 빠르게 사용하는 것이 목적인 모바일 애플리케이션에서는 사용자 인터페이스UI의 아름다운 디자인과 직관적인 사용성이 (기능성을 넘어) 가장 중요한 요소라고 감히 말할 수 있다.

그토록 중요한 사용자 인터페이스, 그런데 혹시 안드로이드 애플리케이션은 예쁘지 않다고 생각하는가? 특히 아이폰 애플리케이션과 비교해 안드로이드의 UI는 개발자들만 사용하는 못생긴 애플리케이션이라고 취급하지는 않는가? 물론 절대 그렇지 않다. 혹시나 그런 편견을 갖고 있다면, 이 책은 바로 당신을 위한 책이다.

또한 이 책에서는 안드로이드의 UI가 아름답지 않다는 편견을 없애 준다. 요즘 시중에 나온 안드로이드 서적들을 본 적이 있다면, 이 책의 구성이 여타 책과는 다르다는 사실을 한눈에 알 수 있다. 이 책은 안드로이드의 기능을 단순하게 나열하며 각각을 설명하는 것이 아니라, 위젯이나 레이아웃, 애니메이션, 테마 등을 주제로 철저하게 UI 관점에서 설명한다. 각 장의 내용을 읽으며 풍부한 실습 예제를 따라하다 보면, 어느새 예쁘고, 사람들 눈에 잘 띄며, 직관적인 사용성을 갖는 안드로이드 UI를 만들 수 있게 될 것이다.

우리가 만든 애플리케이션이 사용자에게 선택되어 설치된 후, 계속 사용되느냐 바로 지워지느냐를 결정하는 것은 애플리케이션의 ‘첫인상’, 즉 UI 디자인이다. 짧은 시간 안에 사용자의 눈을 사로잡지 못하고 실망만 안겨준다면 바로 퇴출당하고 말 것이다. 사용자 인터페이스를 얼마만큼 잘 개발하느냐가 애플리케이션의 흥망을 결정한다. 이 책을 늘 곁에 두고, 부디 사용자에게 주목받는 아름답고 편리한, 그래서 결국 성공하는 애플리케이션을 만들 수 있기를 기원한다.


[ 옮긴이 소개 ]

장재현
KAIST 전산학과를 졸업하고 서울대학교에서 석사 과정을 마쳤다. 모바일 소프트웨어를 전공했으며, 게임 업계에 종사한 적도 있다. 지금은 삼성전자에서 안드로이드 소프트웨어를 개발 중이다. 옮긴 책으로 에이콘출판사에서 펴낸 『(개정판) 해킹: 공격의 예술』(2010), 『The Android Developer’s Cookbook 한국어판』(2011)이 있다.

목차

목차
  • 1 간단한 액티비티 개발
    • 첫 번째 예제 개발하기
    • 프로젝트 구조 만들기
      • 실습 예제 | 안드로이드 SDK 설정
      • 실습 예제 | 새 프로젝트 시작하기
      • 안드로이드 프로젝트 레이아웃
      • 실습 예제 | 예제 프로젝트 실행하기
    • 화면 레이아웃
      • 레이아웃 XML 파일
      • 실습 예제 | QuestionActivity 설정하기
    • 뷰와 뷰그룹
      • 실습 예제 | 질문하기
      • 실습 예제 | 대답을 위한 공간 추가하기
      • 실습 예제 | 버튼 추가하기
      • 공통 디멘전 정의하기
    • 레이아웃 XML 포맷의 한계
    • QuestionActivity 채우기
      • 실습 예제 | 자바 코드 작성하기
    • 동적으로 위젯 만들기
      • 실습 예제 | 화면에 질문 배치하기
    • 안드로이드 이벤트 다루기
    • 요약
  • 2 뷰로 데이터 나타내기
    • 데이터 리스트 보여주고 선택하기
      • 리스트뷰 선택 모드
      • 머리말과 꼬리말 위젯 추가하기
      • 간단한 ListView 만들기
      • 실습 예제 | 패스트푸드 메뉴 만들기
      • 표준 ListAdapter 꾸미기
      • 실습 예제 | 레스토랑 리스트 보강하기
      • 커스텀 어댑터 만들기
      • 실습 예제 | Burger 아이템 레이아웃 만들기
      • 실습 예제 | 햄버거 오브젝트 보여주기
      • TheBurgerPlaceActivity 클래스 만들기
      • 실습 예제 | TheBurgerPlaceActivity 구현하기
      • ThrBurgerPlaceActivity 등록하고 시작시키기
    • ExpandableListView 클래스 사용하기
      • ExpandableListAdapter 구현하기
    • GridView 클래스 사용하기
      • 실습 예제 | 과일 아이콘 만들기
      • GridView에 아이콘 나타내기
      • 실습 예제 | 과일 메뉴 만들기
      • 실습 예제 | FourBucketsActivity 만들기
    • 요약
  • 3 스페셜 안드로이드 위젯 개발
    • 레스토랑 리뷰 애플리케이션 만들기
      • 실습 예제 | RoboticReview 프로젝트 구조 만들기
    • TabActivity 만들기
      • 탭 아이콘 생성하기
      • 안드로이드 탭과 아이콘
    • ReviewActivity 구현하기
      • 실습 예제 | ReviewActivity 클래스 작성하기
      • 실습 예제 | 리뷰 레이아웃 만들기
      • Switcher 클래스 사용하기
      • 실습 예제 | TextSwitcher 켜기
    • 간단한 사진 갤러리 만들기
      • 실습 예제 | 사진 탭 구축하기
      • 썸네일 위젯 만들기
      • GalleryAdapter 구현하기
      • 실습 예제 | GalleryAdapter
      • 실습 예제 | 갤러리 동작시키기
    • 예약 탭 구축하기
      • 실습 예제 | 예약 레이아웃 구현하기
      • 실습 예제 | 예약 탭 초기화하기
      • 실습 예제 | SeekBar 듣기
      • 실습 예제 | 날짜와 시간 선택하기
    • Include, Merge, ViewStubs를 사용하는 복잡한 레이아웃
      • include 태그 사용하기
      • 레이아웃 Merge
      • ViewStub 클래스 사용하기
    • 요약
  • 4 액티비티와 인텐트
    • Activity 클래스
      • Bundle 오브젝트 이용하기
      • 실습 예제 | 예제 게임 ‘Guess my number’ 만들기
    • 인텐트 생성/사용하기
      • 인텐트 행동 정의하기
      • 인텐트에 데이터 넘기기
      • 인텐트에 데이터 추가하기
    • 고급 인텐트
      • 인텐트로부터 데이터 얻기
      • 실습 예제 | 주소록 보기
    • 요약
  • 5 비선형 레이아웃
    • 실습 예제 | 레이아웃 예제 프로젝트 만들기
  • FrameLayout
    • 일반 용도
    • 실습 예제 | FrameLayout 예제 개발하기
  • 테이블 레이아웃
    • 일반 용도
    • 기억력 게임 TableLayout
    • 실습 예제 | 간단한 기억력 게임 개발하기
  • AbsoluteLayout / 커스텀 레이아웃
    • 고유의 레이아웃 개발하기
    • 실습 예제 | 커스텀 레이아웃 만들기
    • CircleLayout 사용하기
    • 실습 예제 | CircleLayout 예제 마무리하기
  • RelativeLayout
    • 일반 용도
    • RelativeLayout 통합
    • 실습 예제 | 주소록 편집기 만들기
    • 실습 예제 | 레이아웃 예제 통합하기
  • SlidingDrawer
    • 일반 용도
    • SlidingDrawer 예제 만들기
    • 실습 예제 | SlidingDrawer 만들기
    • 실습 예제 | SlidingDrawer 통합
  • 요약
  • 6 입력과 검증
    • 올바르지 않은 입력 처리
      • 정확한 레이블
      • 올바르지 않은 입력 알리기
      • 올바르지 않은 입력 복구하기
      • 피드백
    • 올바르지 않은 입력 막기
      • 날짜와 시간 입력
      • Spinner와 ListView
      • 텍스트 입력받기
      • 텍스트 자동완성
    • 결과 처리 액티비티 만들기
    • 필터링 검색 Activity
      • 실습 예제 | ListItemSelectionActivity 만들기
      • 실습 예제 | ArrayAdapter 만들기
      • 실습 예제 | CursorAdapter 만들기
      • 실습 예제 | ListView 설정
      • 실습 예제 | 리스트 필터링
      • 실습 예제 | selection 리턴
      • ListItemSelectionActivity 사용하기
    • 요약
  • 7 위젯과 레이아웃 애니메이션
    • 표준 안드로이드 애니메이션
      • 실습 예제 | 뉴스 피드 애니메이션
    • flipper와 switcher 위젯
      • ImageSwitcher와 TextSwitcher 구현
      • 레이아웃 위젯 애니메이션
      • 실습 예제 | GridView 애니메이션
      • 커스텀 애니메이션 만들기
      • 실습 예제 | 커스텀 애니메이션 작성하기
      • 실습 예제 | Button을 사라지게 만들기
    • 요약
  • 8 콘텐츠 중심 디자인
    • 안드로이드 기기에 콘텐츠를 표현할 때 디자인 옵션 고려하기
      • 사용자 행동 고려하기
    • WebView 클래스로 콘텐츠 나타내기
      • WebView 오브젝트
      • 실습 예제 | 레시피 뷰어 애플리케이션
      • 고급 WebView
    • 콘텐츠를 보여주는 상대적 레이아웃 만들기
      • RelativeLayout 활용
      • 안드로이드의 레이아웃 제약
      • TextView 오브젝트 스타일링
      • 실습 예제 | 특별한 콘텐츠 뷰 개발하기
    • 온라인 뮤직 스토어 개발
      • 뮤직 스토어 디자인
      • 뮤직 스토어 개발
      • 실습 예제 | 트랙 아이템 만들기
      • 실습 예제 | 주 사용자 인터페이스 레이아웃 개발하기
      • 실습 예제 | 주 사용자 인터페이스의 자바 코드 개발하기
    • 요약
  • 9 안드로이드 애플리케이션 스타일 만들기
    • 스타일 리소스
    • 셰이프 리소스 사용하기
      • 셰이프의 동작 방법
      • 실습 예제 | 점선 그리기
      • 사각형 그리기
      • 실습 예제 | 둥근 경계선 만들기
      • 원형 그리기
      • 실습 예제 | 원형에 그래디언트 적용하기
      • 링 그리기
      • 실습 예제 | 스피너 링 그리기
      • 레이어 정의하기
    • 나인패치를 이용하여 이미지 늘리기
      • 나인패치 이미지 만들기
    • 비트맵 이미지 사용하기
      • 다른 화면 크기 처리
      • 다른 화면 해상도 처리
    • 설정 변경
      • 가로모드 레이아웃
      • 가로모드 레이아웃에서 텍스트 입력
      • 화면 콘텐츠 바꾸기
    • 요약
  • 10 애플리케이션 테마 만들기
    • 기본 계산기 레이아웃 만들기
      • 표준 계산기 디자인
      • 실습 예제 | 표준 계산기 만들기
    • 계산기 스타일 만들기
      • 실습 예제 | 버튼 이미지 만들기
      • 실습 예제 | 계산기 버튼 스타일 꾸미기
      • 실습 예제 | 출력 스타일 꾸미기
    • 공학 가로모드 레이아웃
      • 공학 레이아웃의 문자열 리소스 정의
      • 공학 레이아웃 스타일 꾸미기
      • 공학 레이아웃 만들기
      • 실습 예제 | 공학 레이아웃 작성
      • 액티비티 재시작 처리하기
    • 하드웨어 키보드 지원
    • 애니메이션 추가
      • 실습 예제 | 출력 영역 애니메이션
  • 도서 오류 신고

    도서 오류 신고

    에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

    오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

    (예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안