이 책은 2015년 11월 25일자로 절판되었으을 알려드립니다. 
그간 이 책을 읽어주신 분들께 감사의 말씀을 드립니다. 


출판사  제이펍
저자명  장영남
출판일  2011년 10월 17일
페이지  224쪽
시리즈  I♥Mobile 13 (아이러브모바일 13)
판  형  크라운판 변형(170*225) 반양장(Soft Cover)
정  가  20,000원
ISBN  978-89-94506-26-5  부가기호: 13560
분  야  모바일 프로그래밍 / 안드로이드
키워드  Android / 모바일 앱 / 지하철도착정보 / 광고플랫폼 / 안드로이드사이드

관련 사이트
안드로이드사이드
독자 Q&A 및 소스 코드 다운로드

관련 포스트
2011/09/30 - [출간전 책소식] - 안드로이드용 지하철 어플, 직접 만들어 보실래요?

관련 도서
실전 앱 프로젝트 안드로이드 게임 개발편

정오표 페이지
■ 정오표 페이지


예제 소스 코드

안드로이드 앱 프로젝트

SubwayInfo.zip

DB생성용 자바 프로젝트

LocalSubway_2014.zip

(네이버에서 제공하던 교통 서비스가 종료되면서 책에서 언급하고 있는 관련 페이지 접속이 되지 않고 있습니다. 기존 책에 작성되어 있는 android 프로젝트에서 바로 동작 가능하도록 수정한 파일을 올려드립니다. _ 2014.10.02)


도서예약구매 사이트(가나다 순)


도서 소개
우리나라 최초의 안드로이드 지하철 애플리케이션인 “지하철정보” 앱 개발자가 직접 전수하는 지하철정보 프로그래밍!
하나의 앱을 기획부터 완성까지 따라하면서 익히는 실전 안드로이드 개발 기술!

어떤 일이든지 첫 걸음을 떼는 것이 가장 중요하다. 첫 걸음을 내디뎠다면 당연히 두 번째 걸음도 걸을 수 있기 때문이다. 애플리케이션 개발도 마찬가지다. 하나의 앱을 개발하는 일은 너무나 어려운 일이다. 하지만 첫 애플리케이션을 완성했다면 그 경험과 자신감으로 두 번째, 세 번째의 앱도 완성할 수 있게 되는 것이다. 이 책은 저자가 애플리케이션 개발을 시작하면서부터 마켓에 런칭하기까지의 개발의 전 과정을 자세하게 풀어놓았다. 따라서 누구든지 책에 있는 내용을 따라하기만 하면 간단하게나마 지하철정보 애플리케이션을 개발할 수 있으며, 이를 토대로 안드로이드 개발에 자신감을 얻을 수 있을 것이다.

이 책에서 배우게 될 핵심 내용은 다음과 같다.

•앱 개발하는 순서를 알 수 있다.
•애플리케이션 개발을 기획할 수 있다.
•정규식과 파서를 이용하여 HTML에서 원하는 정보를 수집할 수 있다.
•SQLite3 데이터베이스를 만들 수 있다.
•SQLite3 데이터베이스를 애플리케이션으로 배포할 수 있다.
•광고플랫폼에 대해 알 수 있다.
•개발한 애플리케이션에 광고플랫폼을 적용할 수 있다.
•앱을 개발하면서 익힌 기술로 다양한 새로운 앱을 만들 수 있다.

대상 독자
이 책은 초급자부터 중급자까지 볼 수 있도록 집필하였다. 이 책은 전반적인 개발방법과 기술을 설명하는 개발서적이 아니라 하나의 프로젝트를 시작하여 완전한 애플리케이션을 개발하는 방법을 제공하는 책이기 때문에 다양한 기술적 배경을 설명하지 않고 지하철정보 애플리케이션을 개발하는 데 필요한 기술만을 선별하여 구성하였다.

선수 지식
이 책으로 학습하기 위한 기본 선수 지식으로는 자바 기본 문법이 있다. 그렇다고 자바 책을 미리 보고 이 책을 볼 필요는 없다. 이 책을 학습하면서 이해가 안 되는 자바 문법에 대해서는 책을 통해 살펴보면 될 것이다.

저자 소개
장영남
브이트론주식회사에 재직 중이며, “지하철정보” 앱을 개발하게 되면서 안드로이드와 인연을 맺게 되었다. 국내 대표 안드로이드 커뮤니티인 안드로이드사이드에서 ‘Zerosouth’라는 닉네임으로 활동하고 있으며, 책을 집필하고 번역하는 모임인 북그래퍼의 회원이기도 하다. 제5회 안드로이드사이드 세미나에서 발표를 하였고, 공개소프트웨어협회에서 주관하는 공개SW개발자대회의 멘토로 참여 중이다. 개발한 대표 애플리케이션으로는 “지하철정보”, “택배조회”가 있다.

차 례
1장 지하철정보 애플리케이션의 기획 및 설계
1.1 기획하기
1.2 제공할 정보 확인하기
1.3 정보수집
1.4 레이아웃 설계

2장 Java Project로 데이터베이스 구성하기
2.1 Java Application 프로젝트 생성하기
2.2 SQLite3 DB 테이블 만들기
2.3 역 리스트 만들기
2.4 네이버 역 조회 화면에서 CID, LID, SID 읽기
2.5 이전역, 다음역 조회하기
2.6 역정보(주소, 전화번호) 수집하기
2.7 출구정보 수집하기
2.8 첫차/막차 시간 수집하기
2.9 모바일서울 URL 수집하기

3장 지하철정보 안드로이드 애플리케이션 만들기
3.1 안드로이드 프로젝트 만들기
3.2 레이아웃 구현
3.3 DB 파일 Assets에서 외장메모리로 복사하기
3.4 AutoCompleteTextView 구현하기
3.5 실시간정보 받아오기
3.6 메인화면 구현하기
3.7 탭 구성하기
3.8 도착정보 데이터 보여주기
3.9 출구정보 데이터 보여주기
3.10 역정보 데이터 보여주기

4장 광고플랫폼
4.1 광고플랫폼이란?
4.2 용어정리
4.3 광고플랫폼의 종류
4.4 지하철정보 애플리케이션에 광고플랫폼을 달아보자
    4.4.1 Admob
    4.4.2 카울리

 

 

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2.  댓글주소  수정/삭제  댓글쓰기 잘 모르겠어요.. 2015.09.08 14:38

    완성된 코드 import 시켜보려고 햇는데 안되요... 뭔가 다른 방법으로 import 해야하나요??

    •  댓글주소  수정/삭제 Favicon of http://jpub.tistory.com BlogIcon 제이펍 2015.09.08 16:10

      질문 잘 보았습니다.
      질문을 저자님에게 보내서 확인을 받아야 하는데, 문제점을 좀 더 구체적으로 안내해주시면 여쭤보고 답변을 드리도록 하겠습니다. ㅠ
      감사합니다.

    •  댓글주소  수정/삭제 잘 모르겠어요.. 2015.09.11 16:40

      컴파일 해서 genymotion을 이용해서 실행까지는 완료 했는데
      실행 해서 호선 검색을 이용해서 역을 검색 하니까 앱을 실행할수 없다면서 바로 꺼지네요...
      api 버전 문제인가요??? 잘 모르겠어요 이거..

    •  댓글주소  수정/삭제 장영남 2015.09.21 18:41

      안녕하세요.
      확인이 늦어 죄송합니다.

      처음 문의 주신 내용인 소스코드를 import 하는 방법은 안드로이드 소스코드를 eclipse에서 열기를 하시거나 Android Studio상에서 Import project(Eclipse ADT, Gradle, etc.) 메뉴를 이용하여 불러오기를 하시면 됩니다.


      두번째 문의주신 내용인 앱이 종료되는 현상은 앱이 종료되었을 때 logcat을 확인하시면, 어떤 오류인지 어느 위치에서 에러가 발생하여 앱이 강제종료 되었는지 확인하실 수 있습니다.

      이것을 확인해 보시고요.. 혹시 해결되지 않는 문제라면 다시 문의 주시기 바랍니다.

      감사합니다.

  3.  댓글주소  수정/삭제  댓글쓰기 Favicon of http://jpub.tistory.com BlogIcon 제이펍 2015.09.16 10:58

    네.저자에게 문의해놓았으니 답변이 오는 대로 다시 안내해드리겠습니다. 늦어져서 죄송합니다.

  4.  댓글주소  수정/삭제  댓글쓰기 네이버 교통사이트가 없어졌는데 어떻게 해야하나요?? 2015.09.29 20:30

    네이버 교통 사이트가 없어져서 네이버 지도로 해야하는데 url을 어떻게 해야하나요??

    •  댓글주소  수정/삭제 Favicon of http://lemonism.net BlogIcon 레몬에이드 2015.09.30 14:43

      저자에게 문의해서 답변을 받는대로 다시 말씀드리도록 하겠습니다!

    •  댓글주소  수정/삭제 Favicon of http://jpub.tistory.com BlogIcon 제이펍 2015.10.01 17:58

      안녕하세요?
      위의 예제 소스 코드에 있는 "DB 생성 애플리케이션" 압축 파일을 다운받아 사용하시면 문제 없을 겁니다.
      해 보시고 안 되면 다시 연락주세요~
      감사합니다.

  5.  댓글주소  수정/삭제  댓글쓰기 궁금한점 2015.10.05 17:38

    네이버교통이나 네이버 지도만 사용해도 되었을거 같은데 굳이 모바일 서울과 연동한 이유가 따로 있나요??

    •  댓글주소  수정/삭제 Zerosouth 2015.10.08 10:08

      안녕하세요~

      문의주신 내용은 오래전의 일이라 정확하게 기억은 나지 않지만
      네이버지도에 있는 스케줄정보를 하게 될 경우 조회하는 정보의 양이 많아지게 되고 집필 당시의 네이버교통에 있는 스케줄 정보는 전체 데이터가 아니었던 것으로 기억합니다.

      그렇기 때문에 쉽게 접근할 수 있고, 실시간으로 제공되는 모바일 서울의 시간 정보를 제공하는 것으로 작업을 진행했던 것 같습니다.

      문의주신 내용에 해답이 되었글 바랍니다.

      감사합니다.

  6.  댓글주소  수정/삭제  댓글쓰기 궁금한점 2015.10.26 11:50

    해당 DB생성할떄 StationURL이 없는 역들이 많더라구요
    모바일 서울이 없데이트가 안되어 있어서 그런거 같은데
    그거는 방법이 없나요??

    원흥, 마곡나루, 언주, 9호선 선정릉, 삼성중앙, 봉은사, 9호선 종합운동장, 서강대, 강매, 매탄권선, 수원시청, 매교, 수원(분당선), 에버라인 전체, 의정부경전철 전체, 경춘선 광운대, 신내, 천마산, 공항철도 전체, 수인선 전체

    이렇게 많은 역들이 DB에 StationURL이 없구요. 의정부 경전철 같은 경우는 제가 DB에 일일이 넣었어요..

    •  댓글주소  수정/삭제 Zerosouth 2015.10.28 10:02

      안녕하세요.

      말씀해주신 역들 중에서 에버라인과 의정부 경전철을 제외한 나머지 역들은 추가 개통된 역들로 DB생성하는 프로젝트의 StationList.java 파일에 해당 역들을 추가하시면 DB 생성이 가능합니다.

      다만, 에버라인과 의정부 경전철의 경우 모바일서울에서 해당 역의 실시간 정보를 제공하고 있지 않기 때문에 정보 조회가 어려울 것으로 생각됩니다.

      좀더 처리 한다면 네이버지도의 스케줄 정보를 저장해야 해당 시간에 맞는 열차시간표를 보여주는 방식으로 변환하셔도 될 것 같습니다.

      문의주신 내용에 답변이 되었길 바랍니다.

      감사합니다.

  7.  댓글주소  수정/삭제  댓글쓰기 가상머신 2015.10.26 16:16

    가상머신 사용해서 어플을 실행하는데 항상 할때마다 unfortunately, subwayinfo has stopped라고 나와요...

    •  댓글주소  수정/삭제 Zerosouth 2015.10.26 18:43

      앱이 강제종료 될 때 logcat의 오류 로그를 확인해보시면 문제되는 위치와 수정방법에 대해 확인할 수 있습니다.

      로그캣을 정확하게 확인해보시고 해결이 안되신다면 해당 오류 로그를 다시 올려주시기 바랍니다.

  8.  댓글주소  수정/삭제  댓글쓰기 궁금한점 2015.11.02 17:47

    그렇게 해보았지만 DB로 오지 않았구요
    확인 결과 역자체가 모바일 서울 사이트가 업데이트가 되지 않아서 없는것이였습니다.
    그렇게 되면 해당 역의 정보를 제대로 가져 올수 없기때문에 당연히 문제가 생길것 같은데
    방법이 없지 않을까요??

  9.  댓글주소  수정/삭제  댓글쓰기 가상머신 2015.11.02 19:33

    Unexpected error while loading repository template extensions
    Warning: The environment variable HOME is not set. The following directory will be used to store the Git
    에러 매세지는 이 두가지였구요

    An exception stack trace is not available.

    exception stack trace에는 똑같이 위의 문장으로 나와요

    •  댓글주소  수정/삭제 Zerosouth 2015.11.04 22:14

      안녕하세요.

      해당 오류는 git 과 관련된 오류 입니다.
      android studio 또는 eclipse 에서 logcat 탭을 선택하시고
      앱에서 크래시 발생 시 error 로그를 확인 부탁드립니다.


      감사합니다.

  10.  댓글주소  수정/삭제  댓글쓰기 가상머신 2015.11.08 17:15

    로그캣 봤는데 nullpointerexception이랑 git과 관련된 오류하고 이제는 amateras관련 까지 뜨네요
    근데 왜뜨는지 도저히 봐도 이해가 안가네요...

    •  댓글주소  수정/삭제 Zerosouth 2015.11.12 15:51

      안녕하세요.

      회신이 늦어 죄송합니다.

      검색을 해보니 amateras 는 uml 과 관련이 있다고 하는데요
      이것 역시 앱이 강제종료 되는 현상과는 무관할 것 같습니다.


      지금 작업중이신 프로젝트를 압축해서 제 메일로 보내주시면 확인해보도록 하겠습니다.
      아래 메일로 부탁드립니다.
      jangyn1@gmail.com

      감사합니다.

  11.  댓글주소  수정/삭제  댓글쓰기 가상머신 2015.11.25 17:30

    해당 실행파일 소스코드중에 common package에 있는 코드들이 책에는 코드랑 설명이 없더라구요..

    해설이 좀 필요할거 같은데 알려주실수 있나요?



티스토리 툴바