'PHP 웹서버'에 해당되는 글 1건

안드로이드 앱 개발 완벽 가이드

 

안드로이드에 관심을 갖는 이유는 딱 하나라고 생각합니다. 앱을 만들자는 것입니다. 안드로이드 자체보다는 나만의 앱을 만드는 것이 최종 목표입니다. 그러나 한편으로는 안드로이드에 대한 지식과 식견이 없이는 훌륭한 앱을 만들 수 없습니다. 그래서 안드로이드를 속속들이 파악하고자 흔히 API라고 불리는 그 많은 자바 클래스들을 하나씩 들여다보자니 그 또한 보통 일이 아닙니다. 그런 점을 감안하여 이 책에서는 가장 효율적인 학습 방법을 제시하고 있습니다.

가장 빠르고 쉽게 안드로이드를 휘어잡는 방법은 무엇일까?

“백문이 불여일타!”
우리나라 프로그래머들에게 전해오는 우습지만 정확한 한마디입니다. 새로운 프로그래밍 체제를 익히는 제일 좋은 방법은 실전 코드를 입력하고, 실행하면서 프로그램 속에서 직접 체험하는 것이라는 의미이지요. 안드로이드 앱 개발 역시 그 많은 API를 개별적으로 들여다보는 것도 중요하지만, 완전한 앱 속에서 직접 키보드를 두드리며 체험하는 게 제일 효율적이라는 생각입니다. 잘 이해되지 않는 모호한 개념이나 기능들도 실전 코드 속에서 응용 사례를 보면 아주 빠르게 감을 잡고 정확하게 이해하게 됩니다.

안드로이드 API들을 단편적으로 설명한 책들과 무료로 참조할 수 있는 문서들도 많이 있기 때문에 이 책에서는 안드로이드 SDK 2.2(SDK 2.1로 다운그레이드 설명 포함)를 기준으로 상업성을 갖춘 제대로 된 앱을 실제로 개발하는 경험을 통해 안드로이드를 정복할 수 있게 가이드하고 있습니다.

이 책에서는 Windows와 Mac 개발자를 위해 전체적으로 4가지 테마를 제시하고 있습니다.

1부, 5부 : 안드로이드에서 어떤 앱을 개발하더라도 필수적으로 알아야 하는 기초를 설명합니다. 개발 툴의 설치부터 안드로이드의 체계와 구성, 특징, 기본 개념들과 완성된 앱을 안드로이드 마켓에 업로드하기 위한 등록부터 배포 중지까지의 절차를 설명합니다.

2부 : 스마트폰에 최적화된 앱사이트의 개발을 설명하고 있습니다. 인트로 애니메이션부터 앱보드, 회원 인증까지 완전한 앱사이트를 구축하는데 필요한 기능들을 구현하면서 보편적으로 많이 사용되는 다양한 API들과 기술적 개념들을 익히게 됩니다.

3부 : 스마트폰 전용 앱몰(쇼핑몰)에 필요한 모듈들을 개발합니다.. 회원 가입부터 장바구니, 주문까지 쇼핑몰에 필수적인 기능들을 앱으로 구현하는 방법들을 상세하게 완벽한 코드로 설명합니다. 이 과정을 통해 앱사이트를 넘어선 더 많은 프로그래밍 논리와 API, 테크닉 등을 습득하게 됩니다.

4부 : 실무에서 중요한 테크니컬한 기능들을 구현합니다. GPS와 구글맵, 센서, 전화걸기 등 스마트폰만의 특별한 기능들을 구현하는 방법과 동영상, 오디오까지 테크니컬한 기능들을 구현하고 있습니다. 4부까지 학습하면 다른 앱도 쉽게 개발할 수 있도록 특수한 API와 기법들을 설명했습니다.

이 책은 다음과 같은 관점에서 기술되었습니다.

① 자바를 조금만 알아도 윈도우와 맥에서 앱을 쉽고 빠르게 개발할 수 있는 능력이 배양되어야 한다.

② 전체 과정을 화면 그림으로 설명해서 초보자도 쉽게 따라하면서 앱의 개발 체계를 확실히 이해하고 응용할 수 있어야 한다.

③ 안드로이드 SDK의 API들만 알아서는 완전한 앱을 개발하기 어려우므로, 안드로이드와 자바의 기능들을 최대한으로 체험하면서 실제로 앱을 만드는 경험을 해야 한다.

④ 한글 입력기부터 애니메이션, 동영상, 사운드, 센서, GPS와 구글맵 등 스마트폰에서 유용한 기능들을 모두 포함시켜야 한다.

⑤ 프로그래밍 실무에서 부딪히게 되는 다양한 난제를 드러내고, 그에 대한 해결책을 제시해서 개발자의 경험과 노하우를 전수해야 한다.

⑥ 책대로 따라하면 연습용이 아닌, 상업성 있는 완벽한 앱을 만들 수 있어야 한다.

⑦ 책에서 설명하는 기초와 프로젝트를 이해하고 나면 다른 앱을 만들 실력이 충분히 갖추어져야 한다.

이 책의 내용에 대한 질문은 www.owllab.com에서 해결해드립니다.

책 목차

1부 안드로이드 기초

1장 안드로이드 개발 환경 구축하기

1 Java JDK 설치
1.1 Java JDK 다운로드
1.2 Java JDK 설치
1.3 Java JDK 환경 설정
1.4 Java JDK 버전 확인
2 이클립스 설치
2.1 이클립스 설치
2.2 이클립스 실행 및 작업 경로 정의
3 ADT 플러그인 설치
4 Android SDK 설치
4.1 Android SDK 다운로드 및 압축 해제
4.2 Android SDK 환경 설정
5 AVD(Android Virtual Device) 생성
5.1 AVD 생성하기
5.2 AVD 실행하기
5.3 AVD 오작동 사례
5.4 AVD 홈폴더 변경
6 Mac OS X용 안드로이드 개발 환경 구축
6.1 JDK (Java Development Kit) 설치 확인
6.2 Mac OS X용 이클립스 설치
6.3 Mac OS X용 ADT 플러그인 설치
6.4 Mac OS X용 Android SDK 설치
6.5 Mac OS X용 Android SDK 환경 설정
6.6 Mac OS X용 AVD 생성과 실행

2장 안드로이드 기초 다지기

1 안드로이드 프로젝트 생성하기
1.1 안드로이드 프로젝트 생성
1.2 안드로이드 프로젝트 생성 속성
2 프로젝트 관리 기초 다지기
2.1 프로젝트 열기/닫기
2.2 프로젝트 삭제
2.3 프로젝트 가져오기
3 프로젝트 소스 구성
3.1 액티비티
3.2 gen(Generated Java Files)
3.3 안드로이드 API
3.4 리소스들
3.5 화면 레이아웃 구성
3.6 값요소(res/values)들 정의
4 안드로이드 배포 설정
4.1 "AndroidManifest.xml" 개요
4.2 Android Manifest
4.3 Android Manifest Application
4.4 Android Manifest Permissions
4.5 Android Manifest Instrumentation
4.6 AndroidManifest.xml 파일 소스
4.7 default.properties
5 디버그 모드 실행

2부 앱사이트 구축

3장 인트로(Intro) 애니메이션

1 앱사이트 프로젝트 생성
2 표지(Intro) 페이지 생성
3 이미지 출력하기
3.1 액티비티에서 직접 이미지 출력하기
3.2 레이아웃 리소스를 통해 이미지 출력하기
4 문자열 출력
4.1 문자열 그림자 효과
4.2 문자열 줄 바꿈과 스타일
4.3 문자열 자동 링크(웹주소, 이메일, 전화번호)
5 이미지 리소스 변경
6 가상기기 가로 화면 전환
7 가상기기 한글 설정
7.1 가상기기 언어 변경
7.2 가상기기 한글 입력기
8 애니메이션 효과
8.1 변형 애니메이션 (Tween Animation)
8.2 프레임 애니메이션 (Frame Animation)
8.3 변형 애니메이션 (Tween Animation) 활용
8.4 프레임 애니메이션 (Frame Animation) 활용
9 안드로이드 이미지 객체
10 나인-패치(Nine-patch) 파일 만들기
11 안드로이드 리소스 유형과 지정된 폴더

4장 앱(App) 레이아웃

1 레이아웃 애니메이션 구현
2 레이아웃 액티비티 생성
3 레이아웃 화면 전환 버튼 만들기
4 레이아웃 디자인 편집기
5 상단 메뉴바
6 이클립스의 XML 자동 포맷 기능

5장 메인 화면 구현(복합 레이아웃)

1 레이아웃 공유
2 FrameLayout의 겹침 효과
2.1 메인 배너 처리
2.2 겹침 효과
3 분산 레이아웃
4 FrameLayout으로 Tab 화면 구현하기
5 앱 화면의 풀 스크린

6장 HTML 뷰어

1 WebView로 웹 화면 출력하기
2 WebView의 다양한 속성 설정
3 WebView의 한글 인코딩 문제
3.1 웹서버와의 소켓 통신
4 DDMS를 이용한 안드로이드 로그캣 보기
4.1 안드로이드 Log 작성법
5 라이브러리 찾아 추가하기

7장 공유 액티비티 클래스화

1 공유 클래스 만들기
2 공유 클래스 활용하기
3 프로젝트 이름 바꾸기
4 소스 인코딩 디버깅

8장 앱보드(App-Board)

1 메인 공지 목록
1.1 목록 객체 디자인
1.2 목록 행 아이템 디자인
1.3 목록 어댑터
1.4 PHP 웹서버로 XML 데이터 서비스
1.5 메인 공지 프로세스 클래스 생성
1.6 웹서버와 통신
1.7 여러 가지 XML 해독기의 이해
1.8 XML 해독 - DOM Parser 방식
1.9 액티비티 연동 및 테스트
2 실물 디자인
2.1 단말기(Device)에 맞는 레이아웃 디자인
2.2 스타일 디자인
2.3 실물 디자인 교정
2.4 실물 크기로 가상기기 설정/실험
2.5 띠무늬 목록 디자인
3 공지 상세 보기
3.1 목록에 상세 버튼 만들기
3.2 안드로이드 내장 리소스 활용
3.3 HashMap으로 전체 데이터 공유
3.4 상세보기 버튼의 클릭 이벤트
3.5 레이아웃 스타일 정의
3.6 둥근 사각틀
3.7 레이아웃 디자인
3.8 Dialog에 레이아웃 리소스 사용
3.9 실험하기

9장 카테고리 탐색기

1 카테고리 객체 정의
2 목록 어댑터 소스 복제
3 행 레이아웃 복제
4 안드로이드 내장 이미지 활용
5 이미지 버튼의 이미지 확대/축소
6 카테고리 액티비티
7 XML 해독의 솔루션화
8 카테고리 XML 데이터 연동
9 메인 액티비티에서 카테고리 출력
10 행 레이아웃과 데이터 매핑
11 동적 액티비티 구현
12 제품 목록 임시 화면
13 카테고리 XML 데이터
14 카테고리 실험하기
15 동적 화면 제목

10장 앱 메뉴

1 앱 메뉴 개요
2 앱 메뉴의 기본 구성 및 사례
2.1 옵션 메뉴
2.2 콘텍스트 메뉴
2.3 서브 메뉴
2.4 메뉴 그룹
3 앱 메뉴 디자인
3.1 메뉴 아이콘 등록
3.2 옵션 메뉴 XML 작성
3.3 서브 메뉴 XML 작성
3.4 그룹 메뉴 XML 작성
3.5 확장 메뉴 XML 작성
4 옵션 메뉴 클래스 생성
4.1 동적 화면 전환 기능의 솔루션화
4.2 옵션 메뉴의 동적 화면 전환
4.3 회사 주소를 XML로
5 인텐트를 통한 액티비티간 변수 전달
6 옵션 메뉴의 액티비티 적용
7 가상기기 실험
8 콘텍스트 메뉴 구현
8.1 콘텍스트 메뉴 디자인
8.2 콘텍스트 메뉴의 액티비티 적용
8.3 가상기기 실험

11장 진행 화면(Loading)

1 진행 화면 개요
1.1 가로형 진행 화면
1.2 회전형 진행 화면
2 진행 화면 구현
2.1 버튼에 진행 화면 달기
2.2 전역 진행 화면 로직
2.3 통신 모듈에 진행 화면 달기
2.4 액티비티 라이프사이클
2.5 액티비티에 진행 화면 달기
2.6 메뉴에 진행 화면 달기

3부 앱몰 구축 

12장 회원약관/회원가입

1 옵션 메뉴 추가
2 웹 회원 가입 화면 분석
3 웹이미지 가공
4 이미지 리소스 등록
5 회원약관 레이아웃 디자인
6 회원가입폼 레이아웃 디자인
7 화면 제목 정의
8 화면 스타일 정의
9 액티비티 정의
10 회원약관 액티비티
11 회원정보 입출력
12 입력란 필터
13 단말기 정보 가져오기
14 입력란 관련 유틸
15 회원가입폼 액티비티
16 회원약관 XML
17 회원가입 XML
18 실험하기

13장 로그인

1 이미지 리소스 등록
2 로그인폼 레이아웃 디자인
3 로그인 액티비티
4 로그인 XML
5 실험하기

14장 회원 등급 제어

1 인증 확인 유틸 추가
2 관리자 전용 메뉴 추가
3 메뉴 접근 제어
4 액티비티에 메뉴 접근 제어 기능 적용
5 메뉴 접근 제어 XML
6 실험하기

15장 로그아웃

1 로그아웃 액티비티 등록
2 로그아웃 액티비티
3 로그아웃 XML
4 실험하기

16장 회원 정보 보기

1 레이아웃 재활용
2 액티비티
3 실험하기

17장 회원 정보 변경

1 레이아웃 재활용
2 액티비티
3 세션 통신
4 세션을 위한 XML 문서
5 실험하기
6 디버깅

18장 회원 탈퇴

1 액티비티
2 탈퇴 XML
3 실험하기
4 디버깅(소스 코드 일괄 변경)

19장 암호 찾기 마법사

1 SMS 발송 서비스
2 마법사 형식의 액티비티
3 SMS 수신 감지
4 임시암호 처리 XML
4.1 실험 아이디(testXXXX) 설정
4.2 암호 찾기 XML
4.3 임시암호 로그인
4.4 관리자 정보 XML
4.5 XML 실험
5 실험하기
5.1 테스트 시나리오
5.2 회원가입 제한 > 문의하기
5.3 회원가입 > 휴대전화기 가입 > 암호 찾기
5.4 회원가입 > 휴대전화기 가입 > 암호 찾기 > 기타 오류 실패
5.5 회원가입 > 휴대전화기 가입 > 암호 찾기 > 계정 없음
5.6 회원가입 > 휴대전화기 가입 > 암호 찾기 > 기타 버튼 실험

20장 고객센터

1 레이아웃 디자인
2 인텐트를 사용한 서비스 연동
2.1 SMS 문의하기
2.2 음성통화로 문의하기
2.3 이메일로 문의하기
2.4 웹사이트로 연결하기
2.5 고객센터 가는 길(네비게이션)
3 고객센터 액티비티
3.1 액티비티 등록 및 생성
3.2 화면 출력 프로세스
3.3 현재 위치 감지 프로세스
4 고객센터 메뉴 추가
5 GPS를 지원하는 가상기기 생성
6 실험하기

21장 상품 검색

1 카테고리 탐색
1.1 계층형 카테고리 탐색
1.2 실험용 XML 문서 준비
1.3 XML 문서 실험
2 동적 화면 제목 구현
3 상품 목록 레이아웃
3.1 검색폼
3.2 행 레이아웃
4 상품 목록 아답터
5 상품 목록 액티비티
6 상품 검색 XML
7 실험하기

22장 상품 상세 정보

1 상품 상세 정보 레이아웃
2 상품 상세 정보 액티비티
2.1 선택상자(Spinner)
2.2 이미지 확대축소(Bitmap Resizing)
2.3 장바구니 버튼
2.4 쇼핑계속 버튼
2.5 웹 상세 정보 버튼
2.6 문자열 치환 유틸리티
3 상품 상세 정보 XML
3.1 실험용 XML 제너레이터 소스
3.2 XML 테스트
4 옵션 메뉴와 상품 검색 기능 교정
5 디버깅 및 실험하기
5.1 NumberFormatException 디버깅

23장 장바구니

1 레이아웃 디자인
1.1 장바구니 화면 레이아웃
1.2 행 레이아웃
2 액티비티와 유틸리티
2.1 Activity와 Provider 등록
2.2 SQLite를 이용한 로컬 데이터베이스 구축
2.3 ContentProvider 구축
2.4 액티비티
2.5 아답터
2.6 화폐 포맷 유틸리티
2.7 문자열을 배열로 분리하는 유틸리티
2.8 Cursor를 HashMap으로 변환하는 유틸리티
2.9 배송비, 결제금액 등을 연산하는 유틸리티
3 장바구니 옵션 메뉴 추가
4 실험하기

24장 주문서

1 주문서 작성
1.1 레이아웃 디자인
1.2 배열 리소스 활용
1.3 액티비티
1.4 주문서 등록 XML
1.5 주문서 XML 실험용 폼
1.6 주문서 등록 XML 실험
2 로그인 후 이전 화면으로 이동
3 주문내역 조회
3.1 주문서 목록 레이아웃
3.2 주문서 행 레이아웃
3.3 내역 목록 레이아웃
3.4 내역 행 레이아웃
3.5 주문내역 액티비티
3.6 주문서 목록 아답터
3.7 내역 목록 아답터
3.8 점프 액티비티
3.9 주문서 목록 XML
3.10 주문내역 XML
4 실험하기
4.1 XML 실험
4.2 앱 실험

4부 인터렉티브 / 테크니컬 

25장 비디오 재생

1 비디오 액티비티 생성
2 비디오 파일 등록
3 비디오 재생 화면 만들기
4 비디오 재생 콘트롤 작성
5 "인트로 화면"에 홍보 영상 버튼 만들기

26장 오디오 재생

1 오디오 관련 파일 등록
2 버튼 디자인
2.1 level-list 버튼
2.2 애니메이션 버튼
2.3 상단 메뉴바에 오디오 버튼 달기
3 오디오 재생 프로세스
3.1 오디오 데이터 정보 등록
3.2 미디어 플레이어 준비
3.3 오디오 재생 제어
4 실험하기

27장 센서를 이용한 개발

1 센서 시뮬레이터를 이용한 센서 개발
1.1 SensorSimulator 다운받기
1.2 SensorSimulator 설치하기
1.3 SensorSimulator 설정하기
1.4 SensorSimulator 데모 실험
2 SensorSimulator 데모 활용
2.1 SensorSimulator 데모 소스 분석
2.2 Warning 처리
2.3 센서 시뮬레이션 프로그램의 활용
2.4 SensorEventListener를 이용한 센서 액티비티

28장 GPS로 회사 찾기

1 구글맵 만들기
1.1 구글맵 액티비티 생성
1.2 구글맵 라이브러리 추가
1.3 구글맵 접근 권한 설정
1.4 구글맵 화면 레이아웃 만들기
1.5 구글맵 텍스트 버튼 만들기
1.6 구글맵 가상기기 생성
1.7 사용할 가상기기 설정
2 구글맵 인증키(Google Maps API Key) 설치하기
3 GPS 좌표로 지도 찾기
4 주소로 지도 찾기
4.1 XML 방식의 구글맵 GPS 정보 서비스
4.2 JSON 방식의 구글맵 GPS 정보 서비스
4.3 "지도 화면" 수정
4.4 안드로이드 전역변수 구현
4.5 주소 검색폼 만들기
4.6 전역변수를 통한 지도 검색 버튼
4.7 주소로 GPS 좌표를 구하는 액티비티
4.8 좌표 정보 오버레이 클래스
4.9 실험하기

29장 DDMS

1 DDMS 실행하기
2 Devices 창
3 File Explorer 창
4 Emulator Control 창
4.1 가상기기 통화 및 SMS
4.2 2대의 가상기기로 통화 및 SMS 실험
4.3 가상기기 맵 위치 정보
5 LogCat 창

30장 HTTPS 보안처리

1 SSL 아파치 서버 설정법
1.1 사설 SSL 인증서 만들기
1.2 SSL 가상 호스트 설정
1.3 아파치 https 실험하기
2 https 통신 솔루션
2.1 로그인, 회원가입은 https로 통신
2.2 POST 방식의 SSL 통신
2.3 사설 SSL을 앱에서 인증하는 방법
2.4 SSL을 위한 쿠키읽기
3 실험하기

31장 공동 작업과 소스 버전 관리를 위한 CVS(Concurrent Versions System)

1 CVSNT 서버 구축 - 평가판
1.1 Window 7에 CVS Suite 설치
1.2 제어판을 이용한 CVSNT 서버 설정
1.3 CVS 계정 등록
1.4 CVS 계정 인증 실험
2 CVSNT 서버 구축 - GNU 라이선스 버전(2.5.X)
2.1 Window 7에 CVSNT-2.5.X 버전 설치
2.2 CVSNT Control Panel의 문제와 CVS 서비스 확인
2.3 CVS 명령어로 저장소 설정
2.4 64비트에서 CVS 계정 설정
3 CVS를 통한 이클립스 형상 관리

5부 배포 

32장 안드로이드 마켓에 배포

1 개발자 등록
2 안드로이드 앱 인증키 발급
2.1 이클립스를 이용한 앱 인증키 생성
2.2 터미널을 이용한 앱 인증키 생성
3 앱 업로드와 앱 배포
4 배포 실무 및 단말기 실험
4.1 앱의 버전 변경하기
4.2 앱 배포하기
4.3 배포키 발급
4.4 단말기 실험
4.5 디버깅 및 2차 배포

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,