Node.js와 오픈소스를 활용한 안드로이드 서비스 개발
도서 + 잡지 / 만화 / :K컬렉션을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
2만원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
중고장터 상품
1Box 기준 : 도서 10권
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 한동호
저자 한동호는
ㆍ모비턴트 대표(안드로이드, 웹, 솔루션)
ㆍ네이버 넥스트(NHN NEXT) 안드로이드 & 서버 분과 겸임교수
ㆍ네이버 부스트 캠프/안드로이드 메인 튜터 및 기획
ㆍ개발자 커뮤니티 안드로이드사이드 운영자(http://www.androidside.com)
경력 사항
ㆍ네이버 웹플랫폼개발팀(웹플랫폼 개발, OSS 매니징, 신입/경력 교육, 비개발자 웹서비스 교육, 안드로이드 교육, 스프링 교육 등)
ㆍ다수의 안드로이드 세미나 개최 및 발표
ㆍ다수의 기관에서 창업 멘토링 및 기술 강의
ㆍ여러 협회 및 교육 기관에서 안드로이드 및 자바 교육 진행
ㆍ다수의 서적 집필 및 번역
목차
- 섹션 1 시작하기 전에 1
1.1 이 책의 대상 독자 및 선수 지식 1
1.2 이 책의 구성 2
1.3 학습 방법 3
섹션 2 베스트푸드 앱 소개 6
2.1 안드로이드 앱 화면 및 기능 소개 6
섹션 3 개발 환경 구성하기 11
3.1 전체 구성 살펴보기 11
3.2 프로젝트 디렉터리 구성하기 12
3.3 MariaDB 설치하기 12
3.4 MariaDB 데이터베이스 생성하기 15
3.5 MariaDB 테이블 생성하기 18
3.6 노드 설치하기 21
3.7 노드 환경 구성하기 23
3.8 노드 실행하기 27
3.9 자바 JDK 설치하기 28
3.10 안드로이드 스튜디오 설치하기 31
섹션 4 노드 프로젝트 살펴보기 32
4.1 프로젝트의 기본 디렉터리 살펴보기 32
4.2 프로젝트의 기본 파일 살펴보기 34
4.3 노드 라우트 파일 설정하기 39
4.4 데이터베이스 연동하기 39
섹션 5 안드로이드 프로젝트 생성하기 42
5.1 프로젝트 패키지 구성하기 47
5.2 전체 프로젝트 패키지 49
5.3 관련 라이브러리 설정하기 49
5.4 베스트푸드 앱 아이콘 변경하기 51
섹션 6 권한 화면 구성하기 52
6.1 안드로이드 권한 액티비티 작성하기 54
섹션 7 시작 화면 구성하기 62
7.1 안드로이드 시작 액티비티 작성하기 64
7.2 노드와 통신하기 위한 자바 코드 작성하기 71
7.3 노드 시작 화면 코드 작성하기 73
7.4 안드로이드 시작 화면 실행하기 76
섹션 8 메인 화면 구성하기 78
8.1 안드로이드 메인 액티비티 작성하기 79
섹션 9 프로필 화면 구성하기 92
9.1 안드로이드 프로필 액티비티 작성하기 93
9.2 노드 프로필 입력 내용 저장 코드 작성하기 109
9.3 안드로이드 프로필 화면을 메뉴에 연동하기 111
섹션 10 프로필 아이콘 이미지 등록 화면 구성하기 113
10.1 안드로이드 프로필 아이콘 이미지 등록 액티비티 작성하기 114
10.2 노드 프로필 아이콘 이미지 저장 코드 작성하기 123
섹션 11 안드로이드 맛집 등록 화면 구성하기 126
11.1 안드로이드 맛집 등록 액티비티 작성하기 127
11.2 안드로이드 맛집 위치 등록 프래그먼트 작성하기 132
11.3 안드로이드 맛집 정보 등록 프래그먼트 작성하기 142
11.4 노드 맛집 정보 입력 내용 저장 코드 작성하기 153
11.5 안드로이드 맛집 이미지 등록 프래그먼트 작성하기 155
11.6 노드 맛집 이미지 저장 코드 작성하기 165
11.7 안드로이드 맛집 등록 액티비티를 메뉴에 연동하기 166
11.8 AndroidManifest.xml에 구글 맵 관련 설정 설정하기 166
섹션 12 안드로이드 맛집리스트 화면 구성하기 169
12.1 안드로이드 맛집리스트 프래그먼트 작성하기 170
12.2 노드 맛집리스트 조회 및 즐겨찾기 관련 코드 작성하기 190
섹션 13 안드로이드 맛집 정보 화면 구성하기 195
13.1 안드로이드 맛집 정보 액티비티 작성하기 196
13.2 노드 맛집 정보 조회 코드 작성하기 211
섹션 14 안드로이드 지도리스트 화면 구성하기 214
14.1 안드로이드 지도리스트 프래그먼트 작성하기 215
14.2 노드 지도리스트 조회 코드 작성하기 233
14.3 안드로이드 지도리스트 프래그먼트를 메뉴에 연동하기 235
섹션 15 안드로이드 즐겨찾기 화면 구성하기 237
15.1 안드로이드 즐겨찾기 프래그먼트 작성하기 238
15.2 노드 즐겨찾기 조회 및 삭제 코드 작성하기 252
15.3 안드로이드 즐겨찾기 프래그먼트를 메뉴에 연동하기 254
마치면서 256
부록 A 베스트푸드 안드로이드 코드 257
A.1 안드로이드 리소스 258
A.2 베스트푸드 아이템 276
A.3 상태 저장을 위한 Application 클래스 281
A.4 베스트푸드 원격 서비스 283
A.5 베스트푸드 라이브러리 287
A.6 베스트푸드 커스텀 클래스 309
A.7 베스트푸드 상수 314
A.8 베스트푸드 AndroidManifest.xml 314
A.9 베스트푸드 build.gradle 316
부록 B 안드로이드 Tip & Tech, 라이브러리 318
B.1 안드로이드 Tip & Tech 318
B.2 안드로이드 라이브러리 342
부록 C 베스트푸드 노드 코드 360
C.1 기본 파일 360
C.2 라우팅 파일 363
부록 D 노드 Tip & Tech, 모듈 372
D.1 노드 Tip & Tech 372
D.2 노드 모듈 387
찾아보기 405
추천사
-
안드로이드와 Node.js로 서비스 개발 방법을 설명하는 유일한 책! 이 책은 모바일 서비스를 개발하는 이들에게 유용한 책이 될 것이다. 특히 스타트업이나 본인만의 서비스를 빠르게 개발하고 시장성을 판단하고 싶다면, 이 책을 통해 원하는 바를 이룰 수 있을 것이다. 하지만 이 한 권의 책이 모든 것을 담고 있을 수는 없다. 이 책을 학습한 후에 개별 전문 서적 등을 통해 추가로 학습한다면 분명 좋은 서비스를 만들 수 있을 것이다.
-
요즘 모바일 서비스는 안드로이드에서만 동작하지 않는다. 기본적으로 서버에 데이터를 저장하고 이를 여러 사용자와 공유한다. 안드로이드 하나를 배우는 데도 시간이 많이 걸리는데, 서버 개발까지 하게 되면 원하는 서비스를 만들기 전에 지친다. 하지만 이 책을 학습한다면 원하는 서비스를 빠르고 쉽게 구축할 수 있을 것이다. 이 책이 훌륭한 모바일 소프트웨어 개발자가 되는 첫걸음이 되기를 기대한다.
책 속으로
그래서 필자는 서비스를 조금이나마 빠르고 쉽게 만들 방법이 없을까를 고민하였다. 그 결과, 서버 쪽 지식이 많지 않아도 개발할 수 있는 Node.js를 서버 기술로 하는 책을 집필하기에 이르렀다. 이 책에서는 안드로이드와 Node.js 그리고 MariaDB를 사용하여 맛집 서비스를 구축하는 방법을 설명하고 있으며, 컴퓨터에서 소스를 보면서 책을 보는 번거로움을 방지하기 위해 소스 전문을 수록하였다.
_ix쪽
일반적으로 별도 파일이 아닌 app.js에서 라우트를 처리할 때는 app.get( )이나 app.post( ) 함수를 사용하면 되지만, 별도 파일에서 라우트 함수를 작성할 때는 express.Router( ) 함수를 통
해 호출해야 한다. 그리고 별도 파일에서 작성한 함수를 사용할 수 있도록 module.exports = router;를 추가해야 한다. index.js에 작성된 router.get( ) 함수는 URL 경로가 /일 때 호출되는
함수이며, 실제로 호출되어 실행될 코드는 function(req, res, next) { } 함수에 작성하면 된다. function은 req, res, next 인자를 가지고 있으며, req는 HTTP 요청 객체에 대한 정보이며, res
는 HTTP 응답 객체에 대한 정보를 가지고 있다.
_37쪽
프로필 이미지를 보여주는 CircleImageView다. CircleImageView는 외부 라이브러리이므로 반드시 build.gradle에 설정해야 한다. 우리는 프로젝트를 생성할 때 이미 추가하였으므로, 만약 하지 않았다면 책의 앞부분을 다시 살펴보기 바란다. 속성 중에서 civ로 시작하는 속성은 CircleImageView의 추가 속성이다. civ_border_color는 원형 이미지의 테두리 색상이고, civ_border_width는 테두리의 두께다.
_98쪽
onActivityResult( ) 메소드에 작성된 이 코드는 앨범을 선택했을 때 호출되는 코드의 일부다. 앨범의 이미지에 대한 dataUri로 이미지를 불러서 화면에 보여주고, 해당 이미지를 서버로 전송하기 전에 파일로 저장하고 있다. dataUri가 가리키는 이미지는 용량이 클 수도 있으므로 피카소의 이미지 로딩을 처리해 주는 Target 클래스를 사용하고 있다. 이를 통해 이미지가 로딩되었을 때 호출되는 onBitmapLoaded( ) 메소드에서 이미지를 파일에 저장할 수 있다.
_165쪽
loading_layout.xml은 맛집 정보 액티비티의 레이아웃 activity_bestfood_info.xml에서 사용하며, 맛집 정보를 보여주기 전에 미리 보여주는 레이아웃이다. 필요 없을 수도 있지만, 인터넷 상태가 일시적으로 느려질 수도 있고 이렇게 되면 맛집 정보를 가지고 오는 데 생각보다 오래 걸릴 수 있다. 따라서 임시 레이아웃을 먼저 보여줘야 사용자가 잠시나마 더 기다릴 수 있을 것이다.
_267쪽
출판사 서평
맛집 애플리케이션을 만들며 배우는 안드로이드 서비스 구성과 운영!
맛집 앱 풀 소스 제공, 카페를 통한 독자 A/S 제공!
이 책은 맛집 검색 및 등록 서비스를 제공하는 ‘베스트푸드’ 애플리케이션 개발 과정을 설명한다. 이를 통해 클라이언트와 서버 그리고 데이터베이스를 어떻게 구성하는지를 배울 수 있다. 클라이언트는 안드로이드로 개발하고, 서버는 Node.js로 개발하며, 데이터베이스는 MariaDB를 사용한다. 개발 환경 설정부터 개발 완료까지 전 과정을 설명하고 있으므로 안드로이드 서비스를 개발하고자 하는 이들에게 유익한 책이 될 것이다.
이 책의 대상 독자
ㆍ본인의 서비스를 개발하고 싶은 독자
ㆍ스타트업에서 빠르게 서비스를 개발해야 하는 독자
ㆍ안드로이드 서비스가 어떻게 개발되는지 궁금한 독자
ㆍ학생이지만 기본적인 앱 개발을 해 보고 싶은 독자
ㆍ안드로이드를 학습했지만 서버 개발을 어떻게 해야 할지 막막했던 독자
기본정보
ISBN | 9791185890968 ( 1185890963 ) | ||
---|---|---|---|
발행(출시)일자 | 2017년 08월 04일 | ||
쪽수 | 420쪽 | ||
크기 |
191 * 246
* 21
mm
/ 844 g
|
||
총권수 | 1권 | ||
시리즈명 |
제이펍의 모바일 시리즈
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립