HOME > 상세정보

상세정보

(Q&A로 배우는) 안드로이드 프로그래밍 : 개발자 노트 (47회 대출)

자료유형
단행본
개인저자
노규남
서명 / 저자사항
(Q&A로 배우는) 안드로이드 프로그래밍 = Android programming guide : 개발자 노트 / 노규남 저
발행사항
서울 :   WellBook :   웅진씽크빅,   2012  
형태사항
568 p. : 삽화 ; 26 cm
ISBN
9788901144894
일반주기
아이스크림 샌드위치 호환  
색인수록  
000 00719camcc2200241 c 4500
001 000045706575
005 20120523144945
007 ta
008 120522s2012 ulka 001c kor
020 ▼a 9788901144894 ▼g 13000
035 ▼a (KERIS)BIB000012772354
040 ▼a 211042 ▼c 211042 ▼d 211009
082 0 4 ▼a 005.268 ▼2 22
085 ▼a 005.268 ▼2 DDCK
090 ▼a 005.268 ▼b 2012z6
100 1 ▼a 노규남
245 2 0 ▼a (Q&A로 배우는) 안드로이드 프로그래밍 = ▼x Android programming guide : ▼b 개발자 노트 / ▼d 노규남 저
260 ▼a 서울 : ▼b WellBook : ▼b 웅진씽크빅, ▼c 2012
300 ▼a 568 p. : ▼b 삽화 ; ▼c 26 cm
500 ▼a 아이스크림 샌드위치 호환
500 ▼a 색인수록
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.268 2012z6 등록번호 121219865 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.268 2012z6 등록번호 121219866 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

안드로이드를 처음 접하는 초심자들부터, 어느 정도 개념이 잡혀서 이제 본격적으로 안드로이드 실무를 수행하려고 하는 초중급자까지를 대상으로 하여 기획된 책이다. 가장 기본적인 설치 방법부터 볼륨이 있는 실전 예제까지 점점 수준을 높여가면서 설명하고 있으며, 긴 소스를 익히는데 시간을 너무 소비하지 않도록 각 예제별로 꼭 필요한 짧은 소스만을 지면에서 자세히 설명하고 있다. 교육기관의 안드로이드 실제 교육과정과 유사하게 구성이 되었으며, 저자의 개발과 강의 노하우를 쉽게 얻을 수 있다.

80여 개 이상의 실무 예제를 통해 안드로이드 프로그래밍의 기본&핵심 기능을 익히고, 종합 예제를 통해 고급 기능까지 마스터할 수 있으며, 실무에서 사용하는 고급 기법이 실린 종합예제를 통해 안드로이드의 모든 기능들을 집약해서 배우고 확인할 수 있다.

안드로이드 개발 시 주로 사용되는 언어는 자바이므로 학습하려면 그에 대한 기본적인 지식은 필수적이지만, 이 책은 자바 입문서가 아니므로 자바 언어에 대한 내용을 설명하고 있지는 않습니다. 만약 자바에 대해서 아는 내용이 없다면 적당한 초급자용 서적을 통해 먼저 언어에 익숙해지기를 권장합니다.

뒷부분의 네트워크 프로그래밍에서는 NIO 자바 서버를 구축하는 예제도 있으므로 자바에 대해서 익숙하지 않으면 곤란해질지도 모릅니다. 구글의 검색 API를 사용한다던가 하는 웹과의 연동 부분도 있어서 웹 서비스에 대한 기본적인 지식도 있으면 도움이 됩니다.

안드로이드에 대해서 아는 바가 거의 없는 초심자라면 PART 1부터 천천히 읽기를 권하지만, 실제 Eclipse와 안드로이드 SDK를 설치 정도까지 해보았다면 PART 1과 PART 2는 건너뛰어도 됩니다. 또한 PART 1과 PART2와 PART7을 제외한 나머지 부분은 간단한 문제와 그에 대한 해답, 즉 Q&A 형식으로 되어 있기 때문에 처음부터 정독하지 않고 본인이 관심 있는 주제만 골라서 읽을 수도 있습니다. PART 7은 종합예제로 Q&A 형식이 아니라 큰 볼륨의 애플리케이션의 소스를 처음부터 설명하고 있습니다. 실전에서 어떤 식으로 애플리케이션을 구성해야 하는지 궁금하다면 PART 7을 상세히 읽어보기 바랍니다.



정보제공 : Aladin

저자소개

노규남(지은이)

현 ㈜가비아 개발실장/이사 ㈜가비아 솔루션개발팀장 역임 ㈜쿨프렌즈 어플리케이션 개발부 차장 역임 ㈜퍼니넷 CTO 역임 ㈜리드텍 기업부설연구소장 역임 성공과 실패를 결정하는 1%의 컴퓨터 원리(성안당) 감역 프로젝트는 왜 실패하는가(성안당) 감역 프로젝트를 성공시키는 SE(성안당) 감역 FLEX 3.0 핵심노트(영진닷컴) 집필 프로그램세계, 마이크로소프트, Linux@Work, ZDNet 등에 다수 기고

정보제공 : Aladin

목차

목차 
1부 안드로이드 개발환경 구축하기 = 18
 01 안드로이드란? = 20
 02 안드로이드에서 제공하는 기능 = 22
  1 Application Framework = 22
  2 Dalvik virtual machine = 23
  3 Integrated browser(with WebKit) = 23
  4 Optimized graphics(2D+OpenGL ES) = 23
  5 SQLite = 24
  6 Media support(OpenCore) = 24
  7 GSM Telephony(h/w dep.) = 24
  8 Camera, GPS, compass, and accelerator(h/w dep.) = 24
  9 Rich development environment(Eclipse IDE) = 25
 03 안드로이드 버전 = 26
 04 안드로이드 개발 환경 구축 = 28
  1 JDK 설치 = 29
  2 이클립스 설치 = 32
  3 Android SDK 설치 = 35
  4 ADT 플러그인 설치 = 38 
2부 기본적인 안드로이드 애플리케이션 개발 방법 = 52
 01 안드로이드 샘플 애플리케이션을 실행해보자 = 54
  1 ApiDemos = 58
  2 BackupRestore = 59 
  3 BluetoothChat = 59
  4 ContactManager = 59
  5 CubeLiveWallpaper = 60
  6 GestureBuilder = 60
  7 Home = 61
  8 JetBoy = 62
  9 LunarLander = 62
  10 MultiResolution = 63
  11 NotePad = 63
  12 SearchableDictionary = 64
  13 SkeletonApp = 64
  14 Snake = 65
  15 SoftKeyboard = 65
  16 Spinner = 66
  17 SpinnerTest = 67
  18 TicTacToeLib/TicTocToeMain = 67
  19 VoiceRecognitionService = 67
  20 Wiktionary = 67
 02 안드로이드 애플리케이션의 기본 = 70
  1 Package Explorer = 74
  2 Activity Life Cycle = 75
  3 위짓 다루기 = 85 
  4 버튼 사용 = 87
3부 예제를 통해 익히는 안드로이드 개발의 기본기 = 92
 Q1 두 개의 버튼을 화면에 배치한다. 누르지 않은 버튼의 캡션은 각각 'Button 1', 'Button 2'지만 버튼을 누르면 캡션이 'Clicked!'로 바뀌게 코딩하라 = 94
 Q2 'New Activity'라는 버튼을 누르면 다른 Activity가 하나 뜨고, 새롭게 만들어진 Activity에 위치한 'Close' 버튼을 누르면 이 Activity가 닫히는 애플리케이션을 작성하라 = 98
 Q3 사용자로부터 url을 입력 받아 버튼을 누르면, 웹브라우저로 해당 url에 접속하는 애플리케이션을 작성하라 = 105
 Q4 화면에 버튼과 EditText를 배치하고, 버튼을 누르면 EditText에 'You clicked button n times'라는 메시지를 추가한다. 이와 더불어 로그 창에도 같은 메시지가 출력되도록 코딩하라 = 108
 Q5 키보드로부터 입력을 받아서, 입력 받은 문자의 keyCode를 화면에 출력하는 애플리케이션을 작성하라 = 112
 Q6 디바이스의 화면을 터치했을 때 이를 감지하여 터치한 좌표를 화면에 출력하는 애플리케이션을 작성하라 = 115
 Q7 화면을 흰색으로 칠하고, 그 위에 파란색 원을 그리는 애플리케이션을 작성하라 = 117
 Q8 리소스에 기본적으로 포함되어 있는 안드로이드 아이콘(icon.png)을 화면에 표시하는 애플리케이션을 작성하라 = 119
 Q9 Q8에서 사용했던 아이콘을 75×100과 25×30 크기로 확대/축소한 후 원래 크기 아이콘과 같이 화면에 출력하는 애플리케이션을 작성하라 = 122
 Q10 Bitmap을 시계 방향으로 45도, 시계 반대 방향으로 20도 회전한 이미지를 원래 이미지와 같이 출력하라 = 126
 Q11 Bitmap이 아닌 Drawable을 이용해 안드로이드 로봇을 화면에 출력하라 = 130
 Q12 화면에 이미지를 하나 나타내고 이를 키보드로 조작하여 상하좌우로 이동시키는 애플리케이션을 작성하라 = 134
 Q13 앞의 예제처럼 키보드로 움직일 수 있으나, 키 입력을 하지 않아도 이미지가 스스로 움직이는 애플리케이션을 작성하라 = 137
 Q14 Bitmap에서 Drawable을 얻어서 화면에 그리는 애플리케이션을 작성하라. 단 Bitmap은 리소스에 포함되어 있다고 간주한다 = 142
 Q15 Preferences를 이용해, 사용자가 입력한 텍스를 안드로이드 시스템에 저장했다가 나중에 다시 실행하면 불러오는 애플리케이션을 작성하라 = 145
 Q16 안드로이드 애플리케이션의 리소스에 텍스트 파일을 추가하고, 이 파일을 읽어서 화면에 출력하는 애플리케이션을 작성하라 = 148
 Q17 EditText의 내용을 읽어서 안드로이드의 내장 파일시스템에 쓰고, 재식작될 때 이를 다시 읽어서 EditText에 표시하는 애플리케이션을 작성하라 = 151
 Q18 이전 예제와 동일하게 작동하나 파일을 SD카드에 저장하는 애플리케이션을 작성하라 = 154
 Q19 SD카드에 저장된 이미지를 읽어서 화면에 출력하는 애플리케이션을 작성하라 = 158
 Q20 인터넷 상의 주소에서 파일을 다운로드하여 SD카드에 저장하는 애플리케이션을 작성하라 = 160
 Q21 Q20과 동일하나 받은 파일을 저장하는 것에 그치지 않고 화면에 표시하는 애플리케이션을 작성하라 = 165
 Q22 리소스로 저장된 MP3 파일을 플레이하는 애플리케이션을 작성하라 = 171
 Q23 Q22와 동일하게 mp3를 플레이하지만 SD카드로부터 mp3 파일을 읽는 애플리케이션을 작성하라 = 174
 Q24 SD카드에 저장된 동영상을 플레이하는 애플리케이션을 작성하라 = 177
4부 조금 더 심화된 안드로이드 애플리케이션 = 182
 Q24-1 화면에 세로로 '아이템 1', '아이템2'…'아이템 30'까지 출력하고 이를 세로로 스크롤할 수 있는 애플리케이션을 작성하라 = 184
 Q24-2 Q24-1의 소스를 수정해서 화면에 출력된 아이템을 하나씩만 선택할 수 있는 안드로이드 애플리케이션을 작성하라 = 187
 Q24-3 Q24-2를 다시 수정하여, 아이템을 여러 개 동시에 선택할 수 있는 ListView를 갖는 안드로이드 애플리케이션을 작성하라 = 189
 Q24-4 아이템이 각각 두 개의 데이터를 갖는 목록을 ListView로 화면에 출력하는 애플리케이션을 작성하라 = 191
 Q24-5 Q24-4를 수정하여, ListView의 각 아이템이 선택되면 로그로 선택 내용을 출력하는 애플리케이션을 작성하라 = 198
 Q24-6 Q24-5를 수정하여, 체크박스를 하나 추가하고 아이템을 선택하면 그 내용이 list에도 반영되는 애플리케이션을 작성하라 = 203
 Q24-7 Q24-6에서 선택된 아이템만을 다른 Activity에 출력하는 애플리케이션을 작성하라 = 210
 Q25 안드로이드폰 내의 주소록을 로그 창에 출력하는 애플리케이션을 작성하라 = 220
 Q25-1 Q25를 수정하여, 주소록을 로그 창이 아닌 화면에 표시하는 애플리케이션을 작성하라 = 224
 Q26 폰에 저장된 SMS를 얻어서 그 내용을 화면에 표시하는 애플리케이션을 작성하라 = 227
 Q26-1 화면에 Button과 EditText가 있고, Button을 누르면 EditText의 내용을 SMS목록에 넣어서 SMS가 온 것처럼 해주는 애플리케이션을 작성하라 = 232
 Q26-2 SMS 수신을 인터셉트하여 화면에 간략하게 표시하는 애플리케이션을 작성하라 = 235
 Q26-3 이전 소스를 수정하여, SMS 수신 내용을 Activity 내의 EditText에 출력하는 애플리케이션을 작성하라 = 239
 Q27 안드로이드에서 기본 제공하는 내장 DBMS인 SQLite를 이용해 실행할 때 마다 테이블에 실행된 시간과 함께 'Hello Android!'라는 메시지를 기록하는 애플리케이션을 작성하라 = 243
 Q27-1 ListView를 이용하여, 사용자가 입력하는 메시지를 화면에 출력하면서 동시에 DB에 저장하는 애플리케이션을 작성하라. 입력된 메시지는  애플리케이션이 다시 시작할 때 모두 로드되어 보여야 한다 = 248
 Q27-2 앞에서의 예제를 확장해, 사용자가 입력하는 메시지와 함께 입력된 시간도 나타내는 애플리케이션을 작성하라 = 252
 Q27-3 앞선 예제를 좀 더 발전시켜서, ListView의 아이템 하나를 long click하면 Context Menu가 뜨고, 이 Context Menu에서 'Delete' 메뉴를 선택하면 '삭제하시겠습니까?' 라는 메시지가 떠서 '예'를 선택하면 메시지가 지워지는 애플리케이션을 작성하라 = 257
 Q28 아무 일도 하지 않는 매우 간단한 Content Provider를 만들고 안드로이드 시스템에 등록하라 = 266
 Q28-1 이전 예제에서 등록한 Content Provider에 접근하는 가장 간단한 애플리케이션을 작성하라 = 270
 Q29 SurfaceView를 이용해 화면에 이미지를 출력하는 애플리케이션을 작성하라 = 271
 Q29-1 앞선 예제를 수정하여, 화면을 터치하면 터치한 방향으로 이미지가 이동하는 애플리케이션을 작성하라 = 275
 Q29-2 앞선 예제를 수정하여, 터치 이벤트가 발생하면 해당 좌표에 도달할 때까지 계속해서 이미지가 이동하는 애플리케이션을 작성하라 = 279
 Q30 ListView를 카카오톡처럼 말풍선으로 표현하는 애플리케이션을 작성하라 = 284
 Q30-1 먼저 예제를 약간 수정하여 SMS를 카카오톡 스타일 UI로 화면에 표시하는 애플리케이션을 만들어라 = 292 
5부 웹과 안드로이드의 연동 = 294
 Q31 초당 한 번씩 로그 창에 'Service running'이라는 메시지를 찍는 서비스와 더불어, 이 서비스를 시작/종료할 수 있는 인터페이스를 갖는 Activity를 작성하라 = 296
 Q31-1 이전 예제와 동일한 기능을 하나 Handler가 아니라 Thread를 사용하는 서비스를 작성하라 = 304
 Q31-2 Q31, Q31-1 예제를 참고하여 30초마다 지정된 웹사이트를 차례로 보여주는 서비스를 작성하라 = 309
 Q32 현재 실행 중인 모든 Activity를 ListView 형태로 보여주는 애플리케이션을 작성하라 = 315
 Q33 현재 실행 중인 모든 서비스를 ListView 형태로 보여주는 애플리케이션을 작성하라 = 318
 Q34 화면에 위치한 버튼을 클릭할 때마다 상단의 Nofitication Bar에 메시지를 추가하고 이 메시지를 확인하면 지정된 사이트를 보여주는 애플리케이션을 작성하라 = 320
 Q35 안드로이드의 카메라 애플리케이션을 사용하여, 현재 카메라의 영상을 캡처하는 애플리케이션을 작성하라 = 324
 Q36 네이버 OpenAPI의 검색 기능을 사용해 입력 받은 주제어로 검색한 결과를 출력하는 애플리케이션을 작성하라 = 326
 Q36-1 앞선 예제에서 한글 키워드로 검색이 되지 않는 문제가 있었다. 한글 키워드로 검색 가능하도록 수정된 애플리케이션을 작성하라 = 337
 Q36-2 앞선 예제에서 XML을 받아오는 HTTP 호출을 HttpURLConnection에서 HttpClient로 변경하라 = 342
 Q36-3 키워드 검색한 결과를 EditText가 아닌 ListView에 출력하는 애플리케이션을 작성하라 = 344
 Q36-4 앞선 예제를 수정하여, 검색 결과를 선택하면 해당 사이트로 이동하는 애플리케이션을 작성하라 = 349
 Q36-5 출력결과를 ListView로 나타낼 때 Html 태그가 같이 보이고 있다. 이 Html 태그를 처리하라 = 355
 Q37 url을 입력 받아서 그에 해당하는 웹페이지를 보여주는 애플리케이션을 작성하라. 단 별도의 다른 Activity가 실행되서는 안되며, 현재 Activity의 인터페이스 내부에서 보여주어야 한다 = 362
 Q37-1 url을 주지 않고 애플리케이션 내부에서 만들어낸 Html 데이터를 웹 형식으로 표현하는 애플리케이션을 작성하라 = 368
 Q37-2 프로젝트 포함된 Html 문서를 읽어서 웹뷰에 표시하는 애플리케이션을 작성하라 = 370
 Q38 구글의 AJAX API를 이용하여 키워드 검색한 결과를 출력하는 애플리케이션을 작성하라 = 372
 Q38-1 앞선 예제에서 검색결과로 얻은 JSON 데이터를 파싱해서 제목만 출력하는 애플리케이션을 작성하라 = 377 
 Q39 HTTP post로 파일을 업로드하는 간단한 애플리케이션을 작성하라 = 383
 Q40 네이버 블로그의 xml-rpc API를 이용하여 블로그에 새 게시물을 포스팅하는 안드로이드 애플리케이션을 작성하라 = 390
6부 자바 NIO 서버를 포함한 안드로이드 소켓 통신 = 396
 Q41 네트워크 프로그래밍을 하려고 한다. 안드로이드를 클라이언트로 접속시킬 수 있는 가장 간단한 TCP/IP 서버 애플리케이션을 작성하라 = 398
 Q42 Q41을 수정하여, 접속된 클라이언트에게 특정 메시지를 출력하고 종료하는 서버를 작성하라 = 404
 Q43 Q42를 수정하여, 클라이언트로부터 최대 10바이트를 읽어 들여 에코백하는 서버를 작성하라 = 408
 Q44 정해진 글자 수가 아니라 Enter로 한줄을 입력하면 그 내용을 에코백하고 종료하는 서버를 작성하라 = 412
 Q45 Q44에서 만들어진 서버에 접속해 telnet과 동일하게 서버에 메시지를 보내고 받는 안드로이드 클라이언를 작성하라 = 417
 Q46 Q44를 수정하여 복수 개 클라이언트가 동시에 접속할 수 있도록 하라 = 421
 Q47 앞에서의 서버를 수정하여 입력 받은 메시지를 접속된 모든 클라이언트에게 전달하는 채팅 서버를 작성하라 = 426
 Q48 Q47에서 만든 서버에 접속하는 안드로이드 채팅 클라이언트를 작성하라 = 434
 Q49 텍스트가 아니라 바이너리 데이터를 전송하는 서버를 작성하고 클라이언트와 채팅 메시지를 주고 받을 수 있도록 하라 = 440
 Q50 Q49와 대응하는, 바이너리 프로토콜을 사용하는 안드로이드 클라이언트를 작성하라 = 449
 Q51 Q49에서 작성했던 채팅 서버를 NIO로 변경하라 = 455
 Q52 Q51 서버는 효율적인 NIO 구조를 채택했지만 쓰레드를 하나만 사용하기 때문에 멀티코어의 장점을 충분히 살릴 수 없는 단점이 있었다. ExecutorService를 활용해 원하는 숫자만큼의 쓰레드풀을 쓰는 서버로 수정하라 = 471
7부 실무에서 사용하는 고급 기법을 익히는 종합예제 = 474
 01 오픈 소스 게임들 = 476
  1 Doom = 476
  2 Frozen Bubble = 477
  3 Microwar = 478
  4 Pingus = 478
 02 게임의 기본 구조 = 480
  1 ChromiumApplication = 480
  2 GameActivity = 486
  3 GameView = 488
  4 ResourceLoader = 489
  5 Run loop = 490
  6 Drawables = 497
  7 SoundManager = 498
 03 Screen = 502
  1 BaseScreen = 503
  2 ScreenFactory = 507
  3 LoadingScreen = 509
  4 TitleScreen = 512
  5 Ground&BaseGround = 515
  6 Ground = 516
  7 BaseGround = 516
  8 GroundMetalBase00 = 517 
 04 GameScreen = 520
  1 GameObject = 520
  2 Movable = 527
  3 Enemy = 527
  4 Pattern = 529
  5 StraightPattern = 530
  6 FollowXPattern = 531
  7 CirclePattern = 532
  8 HorizontalSinePattern = 534
  9 Ammo = 536
  10 Hero = 538
  11 HeroAmmos = 541
  12 EnemyAmmos = 544
  13 Enemy HashMap = 545
  14 Explosion = 545
  15 Explosions = 547
 05 게임의 핵심 구조 = 548 
  1 Enemy Spawn = 550
  2 Boss Spawn = 551
  3 판정 = 552
  4 화면 분할 = 554
  5 Point&getCellList = 557 
  6 draw = 560 

관련분야 신착자료