이미 소장하고 있다면 판매해 보세요.
|
섹션 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 그리고 MariaDB를 사용하여 맛집 서비스를 구축하는 방법을 설명하고 있으며, 컴퓨터에서 소스를 보면서 책을 보는 번거로움을 방지하기 위해 소스 전문을 수록하였다.
--- p.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 응답 객체에 대한 정보를 가지고 있다. --- p.37 프로필 이미지를 보여주는 CircleImageView다. CircleImageView는 외부 라이브러리이므로 반드시 build.gradle에 설정해야 한다. 우리는 프로젝트를 생성할 때 이미 추가하였으므로, 만약 하지 않았다면 책의 앞부분을 다시 살펴보기 바란다. 속성 중에서 civ로 시작하는 속성은 CircleImageView의 추가 속성이다. civ_border_color는 원형 이미지의 테두리 색상이고, civ_border_width는 테두리의 두께다. --- p.98 onActivityResult( ) 메소드에 작성된 이 코드는 앨범을 선택했을 때 호출되는 코드의 일부다. 앨범의 이미지에 대한 dataUri로 이미지를 불러서 화면에 보여주고, 해당 이미지를 서버로 전송하기 전에 파일로 저장하고 있다. dataUri가 가리키는 이미지는 용량이 클 수도 있으므로 피카소의 이미지 로딩을 처리해 주는 Target 클래스를 사용하고 있다. 이를 통해 이미지가 로딩되었을 때 호출되는 onBitmapLoaded( ) 메소드에서 이미지를 파일에 저장할 수 있다. --- p.165 loading_layout.xml은 맛집 정보 액티비티의 레이아웃 activity_bestfood_info.xml에서 사용하며, 맛집 정보를 보여주기 전에 미리 보여주는 레이아웃이다. 필요 없을 수도 있지만, 인터넷 상태가 일시적으로 느려질 수도 있고 이렇게 되면 맛집 정보를 가지고 오는 데 생각보다 오래 걸릴 수 있다. 따라서 임시 레이아웃을 먼저 보여줘야 사용자가 잠시나마 더 기다릴 수 있을 것이다. --- p.267 |
|
맛집 애플리케이션을 만들며 배우는 안드로이드 서비스 구성과 운영!
맛집 앱 풀 소스 제공, 카페를 통한 독자 A/S 제공! 이 책은 맛집 검색 및 등록 서비스를 제공하는 ‘베스트푸드’ 애플리케이션 개발 과정을 설명한다. 이를 통해 클라이언트와 서버 그리고 데이터베이스를 어떻게 구성하는지를 배울 수 있다. 클라이언트는 안드로이드로 개발하고, 서버는 Node.js로 개발하며, 데이터베이스는 MariaDB를 사용한다. 개발 환경 설정부터 개발 완료까지 전 과정을 설명하고 있으므로 안드로이드 서비스를 개발하고자 하는 이들에게 유익한 책이 될 것이다. 이 책의 대상 독자 본인의 서비스를 개발하고 싶은 독자 스타트업에서 빠르게 서비스를 개발해야 하는 독자 안드로이드 서비스가 어떻게 개발되는지 궁금한 독자 학생이지만 기본적인 앱 개발을 해 보고 싶은 독자 안드로이드를 학습했지만 서버 개발을 어떻게 해야 할지 막막했던 독자 |