이미 소장하고 있다면 판매해 보세요.
|
01장 안드로이드 프로그래밍 입문
02장 안드로이드 개발 환경 03장 애플리케이션 개발 04장 Java와 XML 05장 화면 구성의 기초 06장 이벤트 관리 07장 그래픽 08장 모형과 스팬 문자 09장 아댑터와 아댑터뷰 10장 인텐트 11장 액티비티 12장 프래그먼트 13장 메뉴 |
|
안녕하세요 이 책의 저자입니다.
2013-01-08
안녕하십니까? 저자 박헌재입니다.
그동안 동영상 강좌나 질의/응답하는 창구로 인터넷 카페를 활용하였습니다. 그러나 "앱을 만들면서 배우는 과정"의 일환으로 조금 더 발전시켜 한양대학교 컴퓨터공학부 최진식 교수팀과 함께 모바일 네트워크/시스템 강좌를 개설할 예정입니다. 자세한 일정이나 세부적인 강의 내용은 http://cafe.naver.com/webdroid를 참고해 주시기 바랍니다. 참고로 서울소재 한양대학교 IT/BT 관의 연구실과 강의실 그리고 기자재을 빌려서 본격적으로 정모 모임과 함께 연구와 강의를 하고자 합니다. 그리고 다른 대학교의 교수님들과 더욱 힘을 합하여 보다 좋은 책으로 여러분들의 성원에 보답하고자 노력하겠습니다. 감사합니다. |
|
강의노트는 ‘일촉즉발 최강 안드로이드 프로그래밍’과 ‘안드로이드를 지배하는 통신 프로그래밍’의 확장판으로 다음과 같이 총 3편으로 나누어서 출간됩니다.
Vol 1 : 기초와 원리 Vol 2 : 컴포넌트와 고급 그래픽 Vol 3 : 통신 Arthur C Clarke이란 분이 “충분히 진보된 기술은 마술과 구분할 수 없다”라는 이야기를 하였습니다. 또한 우리가 익히 알고 있는 첨단기술을 영어로 ‘State of the art”라고 표현하는데, “프로그래밍은 한마디로 창조적인 작업이자 예술적인 작업이다”라는 의미로 해석할 수 있습니다. 그러나 대부분의 개발자들은 기능의 이해없이 한/두개의 샘플 프로그램을 복사하여 천편일률(千篇一律)적으로 작업하기 때문에 개발자의 개성이나 상상력이 들어가지 않는 프로그램들을 양산합니다. 강의노트는 "믿지만 검증"하다는 전 미국 대통령 레이건의 말처럼 디자인 패턴이나 리펙터링(Refactoring) 그리고 객체지향의 원리를 통해 안드로이드가 제공하는 기능들을 하나 하나 분석합니다. 이 책은 여러분이 앞으로 추구해야 하는 “나만의 스타일은 무엇인가” 그리고 안드로이드를 배우는 개발자 입장에서 학습 방법으로 “프로그램을 읽는 능력이 중요할까?” 아니면 “기능을 구현하는 클래스와 메소드의 이해가 중요할까?”와 같은 원초적인 질문을 던집니다. 이 책의 대상 독자 이 책은 독자들을 크게 세분류로 나눕니다. 첫번째 독자층은 오래동안 자바나 C언어를 사용하여 앱을 개발한 경험이 있는 개발자를 대상으로 하고 있습니다. 이런 분들은 처음 안드로이드를 공부한다고 하더라도 경험이 있기 때문에 다소 높은 수준을 요구합니다. 두번째 독자층은 이미 안드로이드 입문서를 공부하여 다름대로 자바나 안드로이드에 대해서 맛을 알고 있는 분들입니다. 그리고 기존에 공부하였던 내용 이상으로 좀더 수준있는 기능을 요구하시는 분들로 초급이상으로 분류됩니다. 마지막 독자층은 안드로이드를 처음으로 입문하시는 입문자들을 대상으로 하고 있습니다. 입문자분들이라 하더라도 기본적으로 자바를 공부하신 분들입니다. 안드로이드는 자바 문법을 따르기 때문에 독자분들이 기본적인 자바 문법을 알고 있다는 가정하에 진행됩니다. 이 책은 초급 수준 이상의 자바 능력을 요구하지 않지만 사람의 생김새가 다르듯 독자마다 자바를 구현하는 능력이나 개발 경력은 천차만별일 것입니다. 물론 높은 수준의 자바 프로그래밍 능력을 갖고 계신 분들은 이 책을 볼 때 상당히 많은 유리한 점들이 존재합니다. 필자는 안드로이드를 입문하신 분들이 기본적인 자바 문법이나 용어 그리고 클래스 등을 이해하는 수준이라면 어렵지 않게 이 책을 공부해 나갈 수 있다고 판단하지만 어디까지나 필자의 개인적인 판단이기 때문에 객관적인 판단 기준이 필요합니다. 이 책을 추가 진행하기 전에 독자의 자바 수준이 필자가 요구하는 초급 수준이상 인지 다음과 같은 문항으로 테스트해 보기 바랍니다. ①나는 자바의 식별자나 키워드 그리고 연산자등을 이해하고 있다. ②나는 클래스와 객체 그리고 인스턴스의 차이점을 알고 있다. ③나는 클래스내 생성자와 static factory라고 하는 메소드가 무슨 기능을 하는지 알고 있다. ④나는 상속이나 구현 그리고 오버라이딩과 오버로딩의 차이점을 이해하고 있다. ⑤나는 상속과 관련된 접근 제어자의 기능을 알고 있다. ⑥나는 자바 콜렉션 프레임워크를 알고 있다. ⑦나는 다형성(Polymorphism)과 제네릭스(Generics)의 개념을 이해하고 어느때 사용하는지 알고 있다. ⑧나는 String 클래스와 StringBuffer 클래스의 차이점을 알고 있다. ⑨나는 싱글스레드와 다중스레드의 차이를 알고 있다. ⑩나는 이전에 이클립스에서 자바 프로그램을 작성하고 실행시켜 보았다. 위 10개의 문항 가운데 5개이상의 문항에 ‘예’라고 답을 하였다면, 독자분은 이 책을 읽을 수 있는 수준이 된다고 판단됩니다. 만약 위의 문항 가운데 5개 이상 ‘아니요’라고 답 하였다면, 이 책을 읽기 전에 서점에서 자바 책을 구입하여 최소한 한달이상 공부하시기 바랍니다. 되도록 오랜 시간 동안 자바 공부에 투자를 하시는 것이 좋습니다. 그리고 안드로이드를 공부하는 동안 항상 주변에 비치해 놓고 수시로 보기 바랍니다. 학습 방법 이 책의 궁극적인 목표는 안드로이드 프로그램을 이해하고 즐겁게 프로그램할 수 있도록 독자들을 돕는 것이다. 강의노트는 다음과 같은 원칙하에서 공부하기 바랍니다. 1 원칙 : 알면 모든 것이 쉬워진다. 2 원칙 : 알아두면 좋은 것보다 알아야만 하는 것을 우선적으로 배우는 게 중요하다. 3 원칙 : 단순히 눈으로 보는 것보다 귀와 손을 활용하라. 여러분들은 강의노트를 통해 다음과 같이 학습해야 합니다. 기본에 충실한다.(Basic are the beginning) 충분히 반복한다.(Repeat yourself often) 초조해 하지 않는다.(Avoid creating desperation) 예제를 많이 활용한다.(Inspire with examples) 반복하는 것을 절대 잊지 않는다.(Never forget to repeat yourself) 추가적인 보조 교재는 “http://cafe.naver.com/webdroid” 카페를 통해 동영상 강의나 교안을 제공하고 있습니다. ' 이 책에서 사용한 예제에 대한 소스코드는 다소 분량이 많은 관계로 두개로 나누어서 “http://cafe.naver.com/webdroid” 카페 게시판에서 제공하고 있습니다. 만약 책의 내용에 있어 문제가 있다고 판단되면 필자에게 이메일(‘hurdsen@gmail.com’) 이나 “http://cafe.naver.com/webdroid” 카페 사이트에 방문하여 글을 올려 주시기 바랍니다. |