logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

안드로이드 프로그래밍 개발자 노트

안드로이드 프로그래밍 개발자 노트

(Q&A로 배우는)

노규남 (지은이)
웰북(WellBook)
28,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
알라딘 판매자 배송 9개 3,500원 >
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

안드로이드 프로그래밍 개발자 노트
eBook 미리보기

책 정보

· 제목 : 안드로이드 프로그래밍 개발자 노트 (Q&A로 배우는)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 애플/아이폰/안드로이드 프로그래밍
· ISBN : 9788901144894
· 쪽수 : 568쪽
· 출판일 : 2012-04-25

책 소개

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

목차

Q&A로 배우는 안드로이드 프로그래밍 개발자 노트

1부 안드로이드 개발환경 구축하기
01 안드로이드란?
02 안드로이드에서 제공하는 기능
1│ Application Framework
2│ Dalvik virtual machine
3│ Integrated browser(with WebKit)
4│ Optimized graphics(2D+OpenGL ES)
5│ SQLite
6│ Media support(OpenCore)
7│ GSM Telephony(h/w dep.)
8│ Camera, GPS, compass, and accelerator(h/w dep.)
9│ Rich development environment(Eclipse IDE)

03 안드로이드 버전

04 안드로이드 개발환경 구축
1│ JDK 설치
2│ 이클립스 설치
3│ Android SDK 설치
4│ ADT 플러그인 설치


2부 기본적인 안드로이드 애플리케이션 개발 방법
01 안드로이드 샘플 애플리케이션을 실행해보자
1│ ApiDemos
2│ BackupRestore
3│ BluetoothChat
4│ ContactManager
5│ CubeLiveWallpaper
6│ GestureBuilder
7│ Home
8│ JetBoy
9│ LunarLander
10│MultiResolution
11│NotePad
12│SearchableDictionary
13│SkeletonApp
14│Snake
15│SoftKeyboard
16│Spinner
17│SpinnerTest
18│TicTacToeLib / TicTocToeMain
19│VoiceRecognitionService
20│Wiktionary

02 안드로이드 애플리케이션의 기본
1│ Package Explorer
2│ Activity Life Cycle
3│ 위짓 다루기
4│ 버튼 사용


3부 예제를 통해 익히는 안드로이드 개발의 기본기
Q1. 두 개의 버튼을 화면에 배치한다. 누르지 않은 버튼의 캡션은 각각 ‘Button1’, ‘Button2’지만 버튼을 누르면 캡션이 ‘Clicked!’로 바뀌게 코딩하라.
Q2. ‘New Activity’라는 버튼을 누르면 다른 Activity가 하나 뜨고, 새롭게 만들어진 Activity에 위치한‘Close’ 버튼을 누르면 이 Activity가 닫히는 애플리케이션을 작성하라.
Q3. 사용자로부터 url을 입력 받아 버튼을 누르면, 웹브라우저로 해당 url에 접속하는 애플리케이션을 작성하라.
Q4. 화면에 버튼과 EditText를 배치하고, 버튼을 누르면 EditText에‘You clicked button n times’라는 메시지를 추가한다. 이와 더불어 로그 창에도 같은 메시지가 출력되도록 코딩하라.
Q5. 키보드로부터 입력을 받아서, 입력 받은 문자의 keyCode를 화면에 출력하는 애플리케이션을 작성하라.
Q6. 디바이스의 화면을 터치했을 때 이를 감지하여 터치한 좌표를 화면에 출력하는 애플리케이션을 작성하라.
Q7. 화면을 흰색으로 칠하고, 그 위에 파란색 원을 그리는 애플리케이션을 작성하라.
Q8. 리소스에 기본적으로 포함되어 있는 안드로이드 아이콘(icon.png)을 화면에 표시하는 애플리케이션을 작성하라.
Q9. Q8에서 사용했던 아이콘을 75×100과 25×30 크기로 확대/축소한 후 원래 크기 아이콘과 같이 화면에 출력하는 애플리케이션을 작성하라.
Q10. Bitmap을 시계 방향으로 45도, 시계 반대 방향으로 20도 회전한 이미지를 원래 이미지와 같이 출력하라.
Q11. Bitmap이 아닌 Drawable을 이용해 안드로이드 로봇을 화면에 출력하라.
Q12. 화면에 이미지를 하나 나타내고 이를 키보드로 조작하여 상하좌우로 이동시키는 애플리케이션을 작성하라.
Q13. 앞의 예제처럼 키보드로 움직일 수 있으나, 키 입력을 하지 않아도 이미지가 스스로 움직이는 애플리케이션을 작성하라.
Q14. Bitmap에서 Drawable을 얻어서 화면에 그리는 애플리케이션을 작성하라. 단, Bitmap은 리소스에 포함되어 있다고 간주한다.
Q15. Preferences를 이용해, 사용자가 입력한 텍스트를 안드로이드 시스템에 저장했다가 나중에 다시 실행하면 불러오는 애플리케이션을 작성하라.
Q16. 안드로이드 애플리케이션의 리소스에 텍스트 파일을 추가하고, 이 파일을 읽어서 화면에 출력하는 애플리케이션을 작성하라.
Q17. EditText의 내용을 읽어서 안드로이드의 내장 파일시스템에 쓰고, 재시작될 때 이를 다시 읽어서 EditText에 표시하는 애플리케이션을 작성하라.
Q18. 이전 예제와 동일하게 작동하나 파일을 SD카드에 저장하는 애플리케이션을 작성하라.
Q19. SD카드에 저장된 이미지를 읽어서 화면에 출력하는 애플리케이션을 작성하라.
Q20. 인터넷 상의 주소에서 파일을 다운로드하여 SD카드에 저장하는 애플리케이션을 작성하라.
Q21. Q20과 동일하나 받은 파일을 저장하는 것에 그치지 않고 화면에 표시하는 애플리케이션을 작성하라.
Q22. 리소스로 저장된 MP3 파일을 플레이하는 애플리케이션을 작성하라.
Q23. Q22와 동일하게 mp3를 플레이하지만 SD카드로부터 mp3 파일을 읽는 애플리케이션을 작성하라.
Q24. SD카드에 저장된 동영상을 플레이하는 애플리케이션을 작성하라.


4부 조금 더 심화된 안드로이드 애플리케이션
Q24-1. 화면에 세로로 ‘아이템1’, ‘아이템2’ … ‘아이템30’까지 출력하고 이를 세로로 스크롤할 수 있는 애플리케이션을 작성하라.
Q24-2. Q24-1의 소스를 수정해서 화면에 출력된 아이템을 하나씩만 선택할 수 있는 안드로이드 애플리케이션을 작성하라.
Q24-3. Q24-2를 다시 수정하여, 아이템을 여러 개 동시에 선택할 수 있는 ListView를 갖는 안드로이드 애플리케이션을 작성하라.
Q24-4. 아이템이 각각 두 개의 데이터를 갖는 목록을 ListView로 화면에 출력하는 애플리케이션을 작성하라.
Q24-5. Q24-4를 수정하여, ListView의 각 아이템이 선택되면 로그로 선택 내용을 출력하는 애플리케이션을 작성하라.
Q24-6. Q24-5를 수정하여, 체크박스를 하나 추가하고 아이템을 선택하면 그 내용이 list에도 반영되는 애플리케이션을 작성하라.
Q24-7. Q24-6에서 선택된 아이템만을 다른 Activity에 출력하는 애플리케이션을 작성하라.
Q25. 안드로이드폰 내의 주소록을 로그 창에 출력하는 애플리케이션을 작성하라.
Q25-1. Q25-1을 수정하여, 주소록을 로그 창이 아닌 화면에 표시하는 애플리케이션을 작성하라.
Q26. 폰에 저장된 모든 SMS를 얻어서 그 내용을 화면에 표시하는 애플리케이션을 작성하라.
Q26-1. 화면에 Button과 EditText가 있고, Button을 누르면 EditText의 내용을 SMS 목록에 넣어서 SMS가 온 것처럼 해주는 애플리케이션을 작성하라.
Q26-2. SMS 수신을 인터셉트하여 화면에 간략하게 표시하는 애플리케이션을 작성하라.
Q26-3. 이전 소스를 수정하여, SMS 수신 내용을 Activity 내의 EditText에 출력하는 애플리케이션을 작성하라.
Q27. 안드로이드에서 기본 제공하는 내장 DBMS인 SQLite를 이용해 실행할 때마다 테이블에 실행된 시간과 함께 ‘Hello Android!’라는 메시지를 기록하는 애플리케이션을 작성하라.
Q27-1. ListView를 이용하여, 사용자가 입력하는 메시지를 화면에 출력하면서 동시에 DB에 저장하는 애플리케이션을 작성하라. 입력된 메시지는 애플리케이션이 다시 시작할 때 모두 로드되어 보여야 한다.
Q27-2. 앞에서의 예제를 확장해, 사용자가 입력하는 메시지와 함께 입력된 시간도 나타내는 애플리케이션을 작성하라.
Q27-3. 앞선 예제를 좀 더 발전시켜서, ListView의 아이템 하나를 long click하면 Context Menu가 뜨고, 이 Context Menu에서 ‘Delete’ 메뉴를 선택하면 ‘삭제하시겠습니까?’라는 메시지가 떠서 ‘예’를 선택하면 메시지가 지워지는 애플리케이션을 작성하라.
Q28. 아무 일도 하지 않는 매우 간단한 Content Provider를 만들고 안드로이드 시스템에 등록하라.
Q28-1. 이전 예제에서 등록한 Content Provider에 접근하는 가장 간단한 애플리케이션을 작성하라.
Q29. SurfaceView를 이용해 화면에 이미지를 출력하는 애플리케이션을 작성하라.
Q29-1. 앞선 예제를 수정하여, 화면을 터치하면 터치한 방향으로 이미지가 이동하는 애플리케이션을 작성하라.
Q29-2. 앞선 예제를 수정하여, 터치 이벤트가 발생하면 해당 좌표에 도달할 때까지 계속해서 이미지가 이동하는 애플리케이션을 작성하라.
Q30. ListView를 카카오톡처럼 말풍선으로 표현하는 애플리케이션을 작성하라.
Q30-1. 먼저 예제를 약간 수정하여 SMS를 카카오톡 스타일 UI로 화면에 표시하는 애플리케이션을 만들어라.


5부 웹과 안드로이드의 연동
Q31. 초당 한 번씩 로그 창에 ‘Service running’이라는 메시지를 찍는 서비스와 더불어, 이 서비스를 시작/종료할 수 있는 인터페이스를 갖는 Activity를 작성하라.
Q31-1. 이전 예제와 동일한 기능을 하나 Handler가 아니라 Thread를 사용하는 서비스를 작성하라.
Q31-2. 앞선 두 예제를 참고하여 30초마다 지정된 웹사이트를 차례로 보여주는 서비스를 작성하라.
Q32. 현재 실행 중인 모든 Activity를 ListView 형태로 보여주는 애플리케이션을 작성하라.
Q33. 현재 실행 중인 모든 서비스를 ListView 형태로 보여주는 애플리케이션을 작성하라.
Q34. 화면에 위치한 버튼을 클릭할 때마다 상단의 Nofitication Bar에 메시지를 추가하고 이 메시지를 확인하면 지정된 사이트를 보여주는 애플리케이션을 작성하라.
Q35. 안드로이드의 카메라 애플리케이션을 사용하여, 현재 카메라의 영상을 캡처하는 애플리케이션을 작성하라.
Q36. 네이버 OpenAPI의 검색 기능을 사용해 입력 받은 주제어로 검색한 결과를 출력하는 애플리케이션을 작성하라.
Q36-1. 앞선 예제에서 한글 키워드로 검색이 되지 않는 문제가 있었다. 한글 키워드로 검색 가능하도록 수정된 애플리케이션을 작성하라.
Q36-2. 앞선 예제에서 XML을 받아오는 HTTP 호출을 HttpURLConnection에서 HttpClient로 변경하라.
Q36-3. 키워드 검색한 결과를 EditText가 아닌 ListView에 출력하는 애플리케이션을 작성하라.
Q36-4. 앞선 예제를 수정하여, 검색 결과를 선택하면 해당 사이트로 이동하는 애플리케이션을 작성하라.
Q36-5. 출력결과를 ListView로 나타낼 때 Html 태그가 같이 보이고 있다. 이 Html 태그를 처리하라.
Q37. url을 입력 받아서 그에 해당하는 웹페이지를 보여주는 애플리케이션을 작성하라. 단 별도의 다른 Activity가 실행되서는 안 되며, 현재 Activity의 인터페이스 내부에서 보여주어야 한다.
Q37-1. url을 주지 않고 애플리케이션 내부에서 만들어낸 Html 데이터를 웹 형식으로 표현하는 애플리케이션을 작성하라.
Q37-2. 프로젝트에 포함된 Html 문서를 읽어서 웹뷰에 표시하는 애플리케이션을 작성하라.
Q38. 구글의 AJAX API를 이용하여 키워드 검색한 결과를 출력하는 애플리케이션을 작성하라.
Q38-1. 앞선 예제에서 검색결과로 얻은 JSON 데이터를 파싱해서 제목만 출력하는 애플리케이션을 작성하라.
Q39. HTTP post로 파일을 업로드하는 간단한 애플리케이션을 작성하라.
Q40. 네이버 블로그의 xml-rpc API를 이용하여 블로그에 새 게시물을 포스팅하는 안드로이드 애플리케이션을 작성하라.


6부 자바 NIO 서버를 포함한 안드로이드 소켓 통신
Q41. 네트워크 프로그래밍을 하려고 한다. 안드로이드를 클라이언트로 접속시킬 수 있는 가장 간단한 TCP/IP 서버 애플리케이션을 작성하라.
Q42. Q41을 수정하여, 접속된 클라이언트에게 특정 메시지를 출력하고 종료하는 서버를 작성하라.
Q43. Q42를 수정하여, 클라이언트로부터 최대 10바이트를 읽어 들여 에코백하는 서버를 작성하라.
Q44. 정해진 글자 수가 아니라 로 한 줄을 입력하면 그 내용을 에코백하고 종료하는 서버를 작성하라.
Q45. Q44에서 만들어진 서버에 접속해 telnet과 동일하게 서버에 메시지를 보내고 받는 안드로이드 클라이언트를 작성하라.
Q46. Q44를 수정하여 복수 개 클라이언트가 동시에 접속할 수 있도록 하라.
Q47. 앞에서의 서버를 수정하여 입력 받은 메시지를 접속된 모든 클라이언트에게 전달하는 채팅 서버를 작성하라.
Q48. Q47에서 만든 서버에 접속하는 안드로이드 채팅 클라이언트를 작성하라.
Q49. 텍스트가 아니라 바이너리 데이터를 전송하는 서버를 작성하고 클라이언트와 채팅 메시지를 주고 받을 수 있도록 하라.
Q50. Q49와 대응하는, 바이너리 프로토콜을 사용하는 안드로이드 클라이언트를 작성하라.
Q51. Q49에서 작성했던 채팅 서버를 NIO로 변경하라.
Q52. Q51 서버는 효율적인 NIO 구조를 채택했지만 쓰레드를 하나만 사용하기 때문에 멀티코어의 장점을 충분히 살릴 수 없는 단점이 있었다. ExecutorService를 활용해 원하는 숫자만큼의 쓰레드풀을 쓰는 서버로 수정하라.


7부 실무에서 사용하는 고급 기법을 익히는 종합예제
01 오픈 소스 게임들
1│ Doom
2│ Frozen Bubble
3│ Microwar
4│ Pingus

02 게임의 기본 구조
1│ ChromiumApplication
2│ GameActivity
3│ GameView
4│ ResourceLoader
5│ Run loop
6│ Drawables
7│ SoundManager

03 Screen
1│ BaseScreen
2│ ScreenFactory
3│ LoadingScreen
4│ TitleScreen
5│ Ground & BaseGround
6│ Ground
7│ BaseGround
8│ GroundMetalBase00

04 GameScreen
1│ GameObject
2│ Movable
3│ Enemy
4│ Pattern
5│ StraightPattern
6│ FollowXPattern
7│ CirclePattern
8│ HorizontalSinePattern
9│ Ammo
10│Hero
11│HeroAmmos
12│EnemyAmmos
13│Enemy HashMap
14│Explosion
15│Explosions

05 게임의 핵심 구조
1│ Enemy Spawn
2│ Boss Spawn
3│ 판정
4│ 화면 분할
5│ Point & getCellList
6│ draw

저자소개

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

추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책