Top

Android Hacks 한국어판 [기초부터 고급까지 핵심 프로그래밍 기법]

  • 원서명Android Hacks (ISBN 9784873114569)
  • 지은이브릴리언트 서비스 사
  • 옮긴이강동수, 오재호
  • ISBN : 9788960771895
  • 35,000원
  • 2011년 03월 21일 펴냄 (절판)
  • 하드커버 | 656쪽 | 185*235mm
  • 시리즈 : 모바일 프로그래밍

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

이 책은 안드로이드 핵심 프로그래밍 기법에 관련된 전문적인 내용뿐만 아니라 그 내용을 이용하기 위한 기초 지식들도 설명한다. 총 6개 장으로 구성돼 있으며, 전반부인 1장부터 3장까지는 안드로이드 개발에 대한 기초 지식을 다루고, 후반부인 4장부터는 본격적인 안드로이드 핵스 기술들을 설명한다. 자바 언어에 대한 경험이 있는 독자라면 쉽게 이해하고 따라갈 수 있으며, 안드로이드 기기가 없어도 에뮬레이터를 쓰면 예제 코드를 쉽게 실행해 볼 수 있다. 이 책의 내용을 습득하면 기본적인 안드로이드 애플리케이션 개발은 물론이고, 한계라고 여겼던 여러 사항도 해결할 수 있는 실력을 갖출 수 있다.


[ 소개 ]

이 책은 현재 안드로이드를 개발하고 있는 프로그래머나 지금부터 개발을 시작하려는 독자를 대상으로 한다. 안드로이드 개발자가 아니면 터득할 수 없던 지식과 노하우를 제공한다. 안드로이드를 해킹하려면 다양한 지식과 노하우가 필요하다. 이 책의 전반부에는 안드로이드 해킹을 즐기는 데 필요한 기초 정보를 담았으며, 후반부에는 애플리케이션의 해킹 방법과 소스코드를 활용하는 방법, 안드로이드 개발에 있어서 또 하나의 기둥인 임베디드 해킹을 수록했다. 또한 실용적인 지식과 노하우를 모았다. 안드로이드의 깊은 부분까지 파고드는 흥미진진한 내용들로 채웠으며, 안드로이드 개발자라면 꼭 읽어야 할 필독서임에 틀림없다.


[ 이 책의 구성 ]

총 6개 장으로 구성돼 있다. 안드로이드 해킹은 다양한 지식이 필요하다. 1장에서 3장까지는 안드로이드와 해킹을 즐기는 데 필요한 기초 지식이 담겨있다. 4장 이후는, 3장까지 설명한 내용을 기반으로 응용한 핵을 설명한다.

■ 1장. 안드로이드 입문 핵스: 설명에 들어가기 앞서 안드로이드가 무엇인지 간단히 정리해 소개한다. 개발자에게 기쁨을 주고 괴로움을 주기도 하는 안드로이드 버전을 총정리한다.

■ 2장. 초급 애플리케이션 핵스: 2장에서는 안드로이드 애플리케이션 개발에 필요한 기초 지식을 제공한다. 안드로이드 개발에 빼놓을 수 없는 항목을 설명한다. 개발 환경 구축에서부터 시작해 액티비티와 인텐트 같은 안드로이드 고유 기능과 사용에 필요한 기법, 그 외 안드로이드 개발에 자주 사용되는 기능과 기술을 설명한다.

■ 3장. 실용 애플리케이션 핵스: 3장부터 실용적인 안드로이드 애플리케이션 핵 세계에 발을 딛는다. OpenGL과 위치 정보, 센서를 사용하는 애플리케이션 개발의 필수 핵부터, 최적화와 안드로이드 마켓의 이용 방법까지, 애플리케이션 개발부터 출시까지 실질적인 기법을 소개한다.

■ 4장. 네이티브 코드 핵스: 네이티브 코드 안드로이드 애플리케이션의 핵을 설명한다. 개발을 위한 환경 구축에서부터 안드로이드의 libc인 bionic 등 고급 수준의 테크닉을 소개한다.

■ 5장. 커스터마이즈 핵스: 안드로이드 소스코드를 활용하는 핵을 소개한다. 소스코드를 컴파일하기 위한 환경 설정에서부터 소스코드의 개요, 프레임워크의 개조 등 오픈소스의 장점을 한껏 즐길 수 있는 핵을 준비했다.

■ 6장. 디버깅 핵스: 안드로이드 애플리케이션의 디버그에 도움이 되는 핵을 소개한다. 디버깅에 빼놓을 수 없는 기초 단계부터 개발 현장에서 응용할 수 있는 기법까지 소개한다.

저자/역자 소개

[ 저자 서문 ]

2007년 11월 13일 늦은 밤, 전화가 울렸다.

‘엄청난 소식이야!’

나와 안드로이드와의 만남이다. 전화를 한 사람은 콘도였고 흥분한 기색으로 나에게 설명을 덧붙였다.

● 이거 굉장한걸!

지금까지의 휴대폰 개발 문화는 버그가 나오면 인해전술로 때우고, 모바일 엔지니어는 기밀, 기기의 소스코드도 기밀, 개발용 기기도 기밀…... 기밀의 연속이었다. 이런 모바일 개발 방식에 ‘무료 오픈소스’라는 충격의 파도가 밀려오고 있었던 것이다.

‘소스코드를 공개한다고......!?’

하지만 충격의 파도는 오픈소스에만 그치지 않았다. PC에서 개발 가능한 에뮬레이터가 공개됐으며, 일반 프로그래머가 개발 기기 데브폰(DevPhone)을 입수할 수 있게 됐다. 디버거 등의 개발 툴이 공개됐고, ‘누구나, 즉시, 간단하게, 전 세계에’ 배포, 판매할 수 있는 안드로이드 마켓이 열렸다. 모바일 업계가 지금까지 감춰왔던 것들을 누구라도 자유롭게 사용할 수 있게 공개된 것이다.

● 혁명

지금까지(안드로이드 마켓 이전)의 애플리케이션 배포는 복잡한 심사 과정을 거치는 방식이었다. 심사하는 측 위주의 규정과 사정이 많이 반영됐으며, 폐쇄주의 관리 발상에 기반했다. 이에 반해 안드로이드 마켓은 규정이 명확하고 간단하며 자유롭다. 자유(경쟁)주의와 같다고 본다.

지금 안드로이드는 폐쇄주의 성벽을 서서히 무너뜨리는 중이다. 프로그래머가 자유롭게 자신의 작품들을 전 세계에 배포할 수 있는 시대가 온 것이다. 이런 기회는 이전 시대에는 없었다.

모바일 이외의 환경에서도 GCC로 ARM 컴파일이 가능해졌고, 모바일 이외의 디바이스에도 안드로이드를 올릴 수 있게 됐다. 안드로이드는 가까운 미래에 과금 플랫폼(구글 체크아웃 포함)으로 모바일 이외의 분야에도 침투할 것이라 생각한다. 폐쇄주의 붕괴는 결코 모바일 분야에만 머물지 않을 것이다.

● 혁명과 자유!

안드로이드는 세계 산업 지형을 바꾸는 산업혁명과도 같으며, 프로그래머 개개인이 본연의 힘을 발휘하고 자신의 작품을 세계에 내놓을 수 있는 무대가 될 것이다. 무엇보다 안드로이드와 안드로이드 프로그래머에게는 기회와 미래가 있어 행복할 것이다. 이 모든 것은 안드로이드가 가져온 혁명이다.
이 책이 프로그래머에게 자유를 선사하고 그 자유가 행복한 미래로 이어진다면 저자로서 정말 기쁘겠다.

- 저자 대표
브릴리언트 서비스 사
대표이사 스기모토 요시히코


[ 저자 소개 ]

브릴리언트 서비스 사
http://www.brilliantservice.co.jp/, 트위터 @bs_android2004년 11월 5일 창업한 임베디드 미들웨어, 디바이스 드라이버, 애플리케이션 개발 전문회사다. 안드로이드가 공개된 이후 끊임없이 연구 중이며, 스터디, 이벤트, 세미나, 강연회 등을 실시한다. 안드로이드 개발 경험이 풍부하고, 비용과 품질 문제 등 개발에 대한 현실적이고 깊은 이해를 쌓아가고 있다. 현재는 임베디드와 클라우드를 통합한 개발, 증강현실(AR) 개발에도 참여한다.


[ 옮긴이의 말 ]


휴대폰은 이제 현 시대를 사는 우리에게 없어서는 안 되는 물건이다. 휴대폰이 한층 발전해 스마트폰이 생겨났고, 스마트폰으로 다양한 일을 수행할 수 있게 됐다. 스마트폰이라 하면 연관해서 떠오르는 단어 중 하나가 바로 안드로이드라는 이름일 것이다. 이제 안드로이드라는 단어는 특정한 사람만이 아는 전문용어가 아닌 일상생활에서도 자주 접하는 단어로 자리매김했다. 불과 몇 년 전에는 만화나 영화 속에서만 가능했던 휴대기기의 뛰어난 역할들이 안드로이드를 통해서도 실현되기 시작했다.

사용자는 항상 목마르다. 기기를 만들고 소프트웨어를 개발하는 업체가 모든 사용자에게 딱 맞는 물건을 만들 수 없기 때문에, 사용자는 자신이 원하는 기능에 대해 항상 목말라 할 수밖에 없다. 안드로이드에 대한 구글의 오픈 정책의 결과를 기대한다. 다양한 기기 제조사의 참여를 높이고 기존 업계의 폐쇄성을 거부한 오픈 환경에서의 소프트웨어 개발의 양적 풍요는 분명 우리의 갈증을 해소해주리라 믿는다. 이 책의 번역이 마무리돼 가는 시점에서 소니는 안드로이드 진영에 참가하고 플레이스테이션 게임을 제공하겠다고 발표했다. 우리 사용자에게는 매우 반가운 일이며, 이런 파격적인 결단은 오픈 진영의 잠재력을 높게 산 메이저 기업의 판단 결과라고 생각한다. 급변하는 IT업계에서 남보다 빠른 결단을 내리는 다음 회사가 어느 기업이 될지 내심 기대도 해본다. 안드로이드는 기업뿐만 아니라 개인에게도 소프트웨어 개발 환경을 공개했으며, 마음만 먹으면 누구나 애플리케이션을 개발하고 판매할 수도 있다. 스마트폰의 하드웨어와 소프트웨어가 빠르게 진화 중이며, 성장의 모멘텀이 불을 뿜고 있는 이 시기에 소프트웨어의 개발 지식을 습득하고 자신만의 애플리케이션을 개발하는 일은 매우 즐거운 일이 아닐 수 없다. 이 책을 통해 독자 여러분이 그 즐거움을 만끽하는 데 조금이라도 도움이 된다면 좋겠다.


[ 옮긴이 소개 ]

강동수
현재 일본에 거주 중이며, 일본 통신사용 스마트폰 개발 업무의 개발 팀장을 맡고 있다. 안드로이드, iOS, 심비안OS, 윈도우 모바일 등 휴대용 단말기의 OS와 애플리케이션 개발에 관심이 많다.

오재호
순천향대학교 컴퓨터공학과를 졸업해 일본 와세다대학 대학원에서 석사와 박사 과정을 마쳤다. 모바일을 전공했으며, 학부 때부터 모바일과 유비쿼터스 컴퓨팅에 관련된 논문을 다수 게재해 왔다. (주)구루나비 개발 팀장, (주)록크웍스 R&D 부서 책임자, (주)아쿠와이어 온라인 사업부 부장을 거쳐 현재 (주)EMTG의 스마트폰 개발 부서에서 아이폰과 안드로이드의 미디어 서비스 개발에 심혈을 기울이는 중이다.

목차

목차
  • 1장 안드로이드 입문 핵스
    • #1 개발자를 위한 안드로이드 입문
    • #2 SDK의 버전
  • 2장 초급 애플리케이션 핵스
    • #3 애플리케이션 개발 환경 구축
    • #4 에뮬레이터 입문
    • #5 에뮬레이터 핵스
    • #6 액티비티 입문
    • #7 액티비티 핵스
    • #8 인텐트 입문
    • #9 버튼 사용
    • #10 대화상자 사용
    • #11 설정 값 저장
    • #12 저장한 설정 값 사용
    • #13 간단한 설정 화면 작성
    • #14 Map 사용
    • #15 알람 사용
    • #16 애니메이션 사용
    • #17 미디어 재생
    • #18 비동기 처리
    • #19 프로그래스 바 사용
    • #20 문자 음성 변환 기능 사용
    • #21 제스트 입력 사용
  • 3장 실전 애플리케이션 핵스
    • #22 오리지널 버튼 작성법
    • #23 커스텀 뷰 작성
    • #24 뷰 드래그
    • #25 OpenGL 사용
    • #26 서비스 실행
    • #27 위치 정보 사용
    • #28 위치 정보 활용
    • #29 센서 사용
    • #30 카메라 사용
    • #31 SQLite 사용
    • #32 콘텐트 프로바이더 사용
    • #33 콘텐트 프로바이더 작성
    • #34 소프트웨어 키보드 작성
    • #35 퀵서치 이용
    • #36 블루투스 사용
    • #37 라이브 배경 화면 제작
    • #38 외부 저장소(SD 카드)에 애플리케이션 설치
    • #39 애플리케이션 최적화
    • #40 이클립스를 사용하지 않고 빌드
    • #41 안드로이드 마켓에 등록
  • 4장 네이티브 코드 핵스
    • #42 윈도우에서의 NDK 환경 구축
    • #43 리눅스에서의 NDK 환경 구축
    • #44 맥 OX X에서의 NDK 환경 구축
    • #45 안드로이드 NDK의 디렉토리 구성
    • #46 바이오닉 입문
    • #47 애플리케이션에서의 JNI 사용
    • #48 기존 라이브러리의 이식과 사용
  • 5장 커스터마이즈 핵스
    • #49 리눅스에서 소스코드 컴파일 환경 구축
    • #50 맥 OS X에서 소스코드 컴파일 환경 구축
    • #51 안드로이드 소스코드 입문
    • #52 안드로이드 컴파일 명령어 입문
    • #53 실제 단말기에서의 실행
    • #54 표준 대기화면 애플리케이션의 변경
    • #55 프레임워크의 변경
  • 6장 디버깅 핵스
    • #56 실제 기기를 사용한 디버깅
    • #57 ADB의 사용
    • #58 메모리 누수의 규명
    • #59 Traceview의 사용

도서 오류 신고

도서 오류 신고

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

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

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