본문 바로가기
IT, 리뷰

안드로이드, iOS 어플리케이션(앱) 개발에 대하여

by 통합메일 2014. 5. 28.
반응형

안드로이드, iOS 어플리케이션(앱) 개발에 대하여


안녕하세요. 안드로이드와 iOS는 개발에 사용되는 툴이 달라 안내드립니다.



1.안드로이드

JAVA 언어를 사용합니다. 따라서 JAVA언어와 리눅스 환경에 대한 이해가 선행하셔야 할 것 같습니다. 사용되는 소프트웨어는 JDK(JAVA develpoment Kit)과 이클립스입니다. JDK는 http://www.oracle.com/technetwork/java/javase/downloads/index.html에서 다운받아 설치가 가능하고, 이클립스는 http://www.eclipse.org/에서 다운받아서 설치가 가능합니다. 앞서 언급했듯 JAVA에 대한 이해가 선행되어 있다면 안드로이드 개발 학습이 매우 수월하겠지만, 안드로이드 개발만을 위한 학습이라면 굳이 따로 JAVA 관련 서적을 보기 보다는 그냥 안드로이드 책만 봐도 충분하다는 게 많은 사람들의 의견입니다.

이와 관련하여 가장 대중적으로 호평을 받고 있는 것은 정재곤 박사의 『Do it! 안드로이드 앱 프로그래밍』 (출판사: 이지스퍼블리싱) (ISBN : 9788997390205)인 것 같습니다. 대부분의 책들이 그렇듯이 개발 프로그램을 설치하는 것부터 친절하게 설명이 되어 있습니다. 책의 목차는 다음과 같습니다.


첫째 마당 / Hello! 안드로이드

01 안드로이드란?

안드로이드에 대한 이해

안드로이드의 특징

안드로이드의 흐름

안드로이드의 현재

 

02 개발 환경 구축하기

개발 환경 구축을 위한 프로그램

안드로이드 개발 환경 한 번에 설치하기

오라클 사이트에서 자바 파일 설치하기

이클립스 설치하기

안드로이드 개발 도구인 ADT 설치

SDK를 직접 다운로드하여 설치하기

에뮬레이터의 구성과 사용

젤리빈 이전 버전의 에뮬레이터 생성과 실행

 

03 첫 번째 애플리케이션

첫 프로젝트 만들기

하나씩 바꾸어 보기

여러 개의 버튼에 기능 추가하기

새로운 화면 만들어 띄워주기

 

04 안드로이드 프로젝트와 개발 도구

안드로이드 최근 버전의 주요 특징

안드로이드 프로젝트

안드로이드 SDK의 개발 도구

 

05 안드로이드 마켓의 이해와 앱의 판매

안드로이드 폰의 장터(Market)

애플리케이션 판매를 위한 개발자 등록하기

서명된 설치 패키지 만들기

마켓에 등록하기

유료 판매를 위한 계좌 등록하기

 

둘째 마당 / 안드로이드 완전 정복

01 기본 위젯과 레이아웃

뷰와 뷰그룹

레이아웃

리니어 레이아웃

상대 레이아웃

테이블 레이아웃

스크롤뷰

프레임 레이아웃과 뷰의 전환

기본 위젯들

 

02 애플리케이션 구성하기

레이아웃 인플레이션

화면 구성과 화면 간 이동

인텐트와 데이터 전달

수명주기

서비스

브로드캐스트 수신자

리소스와 매니페스트

토스트와 대화상자

 

03 다양한 위젯과 이벤트 활용하기

이벤트 처리

웹브라우저 사용하기

간단한 애니메이션 사용하기

페이지 슬라이딩 사용하기

뷰플리퍼 사용하기

프로그레스바 사용하기

메뉴와 탭 사용하기

키패드 설정하기

 

04 선택 위젯의 사용과 커스텀뷰 만들기

나인패치 이미지

[비트맵] 버튼 만들기

리스트뷰 사용하기

스피너 사용하기

갤러리 사용하기

그리드뷰 사용하기

복합 위젯 만들기

월별 캘린더 만들기

멀티터치 이미지 뷰어 만들기

 

05 그래픽

빨간색 사각형 그리기

그래픽 그리기

그리기 객체로 만들어 그리기

비트맵 이미지 사용하기

페인트 보드 만들기

서피스뷰 사용하기

그래픽을 위한 카메라 객체 사용하기

 

06 스레드와 애니메이션

핸들러 사용하기

일정 시간 후에 실행하기

스레드로 메시지 전송하기

AsyncTask 사용하기

스레드로 애니메이션 만들기

프레임 애니메이션

트윈 애니메이션

그래프 애니메이션 만들기

 

07 네트워킹

네트워킹이란?

소켓 사용하기

웹으로 요청하기

뉴스 정보 가져오기

XML-RPC 사용하기

 

08 데이터베이스

모바일 데이터베이스

데이터베이스와 테이블 만들기

헬퍼 클래스를 이용해 업그레이드 지원하기

데이터 조회하기

SQL을 메소드 호출로 실행하기

커서 어댑터로 뷰에 보여주기

약품정보 데이터베이스 구성하기

 

09 멀티미디어

오디오 재생하기

동영상 재생하기

오디오 녹음하여 저장하기

동영상 녹화하기

카메라로 사진 찍어 저장하기

바코드 스캐너 만들기

 

10 위치기반 서비스

GPS를 이용해 나의 위치 확인하기

현재 위치의 지도 보여주기

지도에 아이콘 추가하기 

지도 위에 나침반 표시하기

근접 경보 기능 추가하기       

주소를 이용하여 위치 알아내기

 

11 메시징과 소셜 네트워크 서비스

메시징 서비스 이해하기

트위터 연동하기

트위터 글보고 글쓰기

페이스북 연동하기

페이스북 글보고 글쓰기

푸시 서비스 사용하기

 

12 근거리 통신과 센서

근거리 통신 이해하기

NFC 사용하기

NFC 태그 읽기와 쓰기

블루투스 사용하기     

센서 이해하기

 

13 화면 분할과 홈 화면

화면 분할 방법 이해하기

프래그먼트 사용하기

앱위젯 만들기

라이브 배경화면 만들기

 

셋째 마당 / 마켓에 올리는 안드로이드 애플리케이션

01 멀티메모 앱

멀티메모의 개요

1단계 - 메인 화면 구성하기

2단계 - 데이터베이스와 메모 입력화면 구성 및 사진 기능 추가하기

3단계 - 손글씨 기능 추가하기

4단계 - 음성과 동영상 기능 추가하기

 

특별 부록 ‘퀵나비’ 마켓에 올린 앱 소스 공개

최단경로 내비게이션(이 앱은 안드로이드 마켓에서 검색하여 다운 및 설치가 가능합니다. 소스는 android-town.org에 공개)

접어보기


 2.iOS

iOS는 기본적으로 MAC OS 환경을 요구합니다. 따라서 iOS 앱을 개발하기 위해서는 애플社의 맥, 맥북 등의 컴퓨터를 구입하셔야 합니다. 혹은 MAC이 아닌 컴퓨터에 애플社개의 MAC os를 편법을 통해 설치하는 방법이 있긴 한데 성공확률이 매우 낮기 때문에 추천하지 않습니다. iOS 개발에 필요한 소프트웨어는 Xcode입니다. Xcode는 맥을 사용하는 사람이라면 누구나 사용할 수 있게 공개되어 있습니다.  애플 개발자 센터의 웹 주소는 다음과 같습니다. developer.apple.com 이와 관련하여 가장 대중적인 책은 소영섭, 허성연 공저의 『Do it! 아이폰 앱 프로그래밍』 (출판사: 이지스퍼블리싱) (ISBN : 9788997390359)입니다. 마찬가지로 개발환경을 준비하는 것부터 개발프로그램 설치하는 것 등등 차근차근 알려주는 책입니다. 목차는 다음과 같습니다.

[첫째마당] 나만의 아이폰 앱 만들기 - 준비 단계

 

01 어떤 앱을 만들까?

01-1 앱을 제작하기 전에 고려해야 할 사항

01-2 어떤 앱을 만들까?

01-3 개발환경 구축에 필요한 시스템

01-4 앱 개발을 위한 참고 사이트

 

02 Xcode로 첫 번째 앱 만들기

02-1 Xcode 설치하기

02-2 Xcode의 템플릿 구경하기 - 프로젝트 생성

02-3 첫 번째 앱 만들며 Xcode에 적응하기

02-4 UI 컨트롤 적용 - 버튼 추가하기

02-5 UI 컨트롤 적용 - 웹페이지가 뜨는 웹뷰 만들기

02-6 UI 컨트롤 적용 - 텍스트 뷰 추가하기

02-7 UI 컨트롤 적용 - 이미지 뷰 추가하기

02-8 iOS의 UI 컨트롤 총정리

 

[개념 잡기] 오브젝티브 - C 기본기 닦기

1. 오브젝티브 - C의 특징

2. 오브젝티브 - C의 기본 - 클래스 이해하기

3. 클래스 내의 다른 클래스들 사용하기

4. 이벤트 대신 받기 - Delegate

5. 클래스 간 연동을 위한 규칙 선언 - @protocol

6. 함수 포인터를 구현해 보자 - @selector

7. 변수와 배열 클래스

 

[둘째마당] 아이폰 앱 개발 - 기본 편

 

03 계산기 앱

03-1 신규 프로젝트 생성하기 - [Single View Application] 템플릿

03-2 인터페이스 빌더를 이용해 버튼과 라벨 설정하기

03-3 ViewController 인터페이스 구현하기

03-4 ViewController 클래스 구현하기

03-5 ViewController 클래스 내 이벤트 핸들러 구현하기

[도전] 일반용 전자계산기 완성하기

 

04 알람시계 앱

04-1 신규 프로젝트 생성하기

04-2 화면 전환을 위한 RootViewController 클래스

04-3 알람시계 화면 구현하기 - MainViewController, MainClockView 클래스

04-4 알람 설정 화면 구현하기 - SetupViewController 클래스

[도전] 아날로그/디지털 방식의 스톱워치 앱 만들기

 

05 스노우 애니메이션 앱

05-1 2개의 화면 인터페이스 구현하기 - RootViewController

05-2 SnowAniViewController 클래스 구현하기

05-3 앱 정보 화면 구현하기 - SnowInfoViewController 클래스

[도전] 내리는 눈이 쌓이는 애니메이션 효과 만들기

 

06 스케치 앱

06-1 스케치 기능을 실행할 수 있는 기본 인터페이스 구현하기

06-2 모든 정보를 저장해 줄 PointData 생성하기

06-3 캔버스 만들기 - MainPainterView 클래스

06-4 설정 화면 구현하기 - PainterSetupViewController 클래스

[도전] 페인터 앱에 여러 가지 도형을 만드는 기능 추가하기

 

[셋째마당] 아이폰 앱 개발 - 중고급 편

 

07 이미지 프로세싱 앱

07-1 메인 화면의 인터페이스 구현하기

07-2 ImageProcessing 생성하기

[도전] 이미지를 확대하거나 윤곽선을 검출하는 기능 구현하기

 

08 녹음기 앱

08-1 녹음기 앱에 필요한 라이브러리와 클래스

08-2 녹음 기능 구현하기 - RecordViewController 클래스

08-3 오디오 레벨을 계기판으로 보여주기 - MeterGaugeView 클래스

08-4 녹음 정보를 조회, 저장, 삭제하기 - RecordDataBase 클래스

08-5 오디오 파일 재생하고 관리하기 - RecordListViewController 클래스

[도전] 오디오 큐 서비스를 이용해 녹음기 앱 만들기

 

09 메신저 앱

09-1 메신저 앱을 위한 기본 인터페이스 구현하기

09-2 로그인 화면 구현하기 - SetupViewController 클래스

09-3 회원 정보 리스트 관리하기 - MemberListViewController 클래스

09-4 대화창 구현하기 - ChatViewController 클래스

09-5 네트워크 기능 구현하기 - NetWorkController 클래스

09-6 ChatDataBase 클래스 구현하기

[도전] 메신저 앱의 통신 방법을 NSStream 방식으로 변환하기

 

10 커버플로우 앱

10-1 ‘시크릿 카드’ 앱을 위한 신규 프로젝트 생성

10-2 여러 장의 이미지로 커버플로우 표현하기 - MainViewController 클래스

10-3 커버플로우 클래스

10-4 CardViewController 클래스

10-5 ShareViewController 클래스

도전 트위픽(Twipic)에 이미지 데이터 업로드하기

 

11 앱스토어에 올리기

11-1 iOS 개발자로 등록하기

11-2 인증서와 개발 기기 등록하기

11-3 Ad Hoc으로 테스트용 ipa 만들고 기기에 설치하기

11-4 내 앱을 앱스토어에 등록하기

11-5 얼마나 팔리고 있을까? - 앱 판매 현황 보기

11-6 앱 업데이트하기

 

[참고하기] 주로 사용하는 UI 프로퍼티 및 메서드

1. UILabel

2. UIButton

3. UISlider

4. UIImageView

5. UITextView

6. UIWebView

7. UITableView

8. UITabelViewDataSource

9. UIScrollView


반응형

댓글