스크랩

구간

Node.js와 오픈소스를 활용한 안드로이드 서비스 개발

시리즈 : 아이 러브 모바일 (I♥Mobile) [29]

한동호 저 | 제이펍 | 2017년 08월

미리보기 북트리

정가
$52.00
판매가
$28.60 (45%↓) 최저가 보상
적립금
$0.57 (2%P)
출고예상일
2026년 10월 07일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

북셀프

1시간도 길다! 5분만에 OK! 매장에서 직넙 책을 찾아가세요. 500원 추가적립!(선착순 천명/일)

가능매장 : 목동점

북셀프로 구매하기 북셀프란?

ISBN : 9791185890968 / 420쪽 191 x 246 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

  • 23,400
  • 19,800
  • 21,600
  • 21,420

책 소개

반디앤루니스 리뷰

맛집 애플리케이션을 만들며 배우는 안드로이드 서비스 구성과 운영!

이 책은 맛집 검색 및 등록 서비스를 제공하는 ‘베스트푸드’ 애플리케이션 개발 과정을 설명한다. 이를 통해 클라이언트와 서버 그리고 데이터베이스를 어떻게 구성하는지를 배울 수 있다. 클라이언트는 안드로이드로 개발하고, 서버는 Node.js로 개발하며, 데이터베이스는 MariaDB를 사용한다. 개발 환경 설정부터 개발 완료까지 전 과정을 설명하고 있으므로 안드로이드 서비스를 개발하고자 하는 이들에게 유익한 책이 될 것이다.

 

출판사 리뷰

맛집 애플리케이션을 만들며 배우는 안드로이드 서비스 구성과 운영! 맛집 앱 풀 소스 제공, 카페를 통한 독자 A/S 제공! 이 책은 맛집 검색 및 등록 서비스를 제공하는 ‘베스트푸드’ 애플리케이션 개발 과정을 설명한다. 이를 통해 클라이언트와 서버 그리고 데이터베이스를 어떻게 구성하는지를 배울 수 있다. 클라이언트는 안드로이드로 개발하고, 서버는 Node.js로 개발하며, 데이터베이스는 MariaDB를 사용한다. 개발 환경 설정부터 개발 완료까지 전 과정을 설명하고 있으므로 안드로이드 서비스를 개발하고자 하는 이들에게 유익한... 맛집 애플리케이션을 만들며 배우는 안드로이드 서비스 구성과 운영! 맛집 앱 풀 소스 제공, 카페를 통한 독자 A/S 제공! 이 책은 맛집 검색 및 등록 서비스를 제공하는 ‘베스트푸드’ 애플리케이션 개발 과정을 설명한다. 이를 통해 클라이언트와 서버 그리고 데이터베이스를 어떻게 구성하는지를 배울 수 있다. 클라이언트는 안드로이드로 개발하고, 서버는 Node.js로 개발하며, 데이터베이스는 MariaDB를 사용한다. 개발 환경 설정부터 개발 완료까지 전 과정을 설명하고 있으므로 안드로이드 서비스를 개발하고자 하는 이들에게 유익한 책이 될 것이다. 이 책의 대상 독자 ㆍ본인의 서비스를 개발하고 싶은 독자 ㆍ스타트업에서 빠르게 서비스를 개발해야 하는 독자 ㆍ안드로이드 서비스가 어떻게 개발되는지 궁금한 독자 ㆍ학생이지만 기본적인 앱 개발을 해 보고 싶은 독자 ㆍ안드로이드를 학습했지만 서버 개발을 어떻게 해야 할지 막막했던 독자

저자 소개

2003년 교보AXA자동차보험, 다음커뮤니케이션, ING 생명보험, NHN 등에서 기술 문서 작성 및 다양한 IT 업무를 진행했으며, 현재는 프리랜서로서 플랫폼, 모바일, 스프링 등 기술관련 강의와 책 집필에 집중하고 있다. 


지금까지 다양한 업무 및 프로젝트의 TL을 맡았는데, 그 중 특별한 기억으로 남는 것은 교보AXA에서 내부 개발자 가이드 및 기술 문서를 작성했던 것과 다음커뮤니케이션에서 내부 개발자를 위한 Spring, iBatis 등의 오픈소스 활용방법을 기술한 서적 집필이다. 대학생 시절부터 책을 집필하고 번역하는 것을 즐겼던 터라 현재도 이와 관련된 일을 많이 하고 있다.


항상 지식을 공유하고 함께 하는 것을 좋아하는 성격 탓에 2002년에는 SCJPSCHOOL.COM, JAVALANG.COM, FORCERT.COM 등을 운영했으며, 2008년부터는 ANDROIDSIDE.COM을 개설해 많은 회원들과 안드로이드 지식을 공유하며 함께 즐기고 있다.


지은 책으로는 『단계별 예제로 배우는 안드로이드 프로그래밍』(제이펍), 『Easy Guide SCJP』(영진닷컴), 『Easy Guide SCJP DUMP』(영진닷컴), 『Easy Guide SCJP 1.4』(영진닷컴), 『SPEED JAVA』(엠플래닝), 『SPEED SCJP 6.0』(케이앤피북스)이 있으며, 옮긴 책으로는 『핵심만 골라 배우는 스마트폰 웹 개발』(제이펍), 『자바 프로그래밍 언어』(케이앤피북스) 등이 있다. 


 

책 속에서

그래서 필자는 서비스를 조금이나마 빠르고 쉽게 만들 방법이 없을까를 고민하였다. 그 결과, 서버 쪽 지식이 많지 않아도 개발할 수 있는 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쪽

목차

섹션 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

top