Presentation is loading. Please wait.

Presentation is loading. Please wait.

Android Tutorial 안드로이드 SDK 설치 및 기초 프로그래밍 강좌입니다 서울대학교 네트워크 융합 및 보안 연구실 권 윤

Similar presentations


Presentation on theme: "Android Tutorial 안드로이드 SDK 설치 및 기초 프로그래밍 강좌입니다 서울대학교 네트워크 융합 및 보안 연구실 권 윤"— Presentation transcript:

1 Android Tutorial 안드로이드 SDK 설치 및 기초 프로그래밍 강좌입니다 서울대학교 네트워크 융합 및 보안 연구실 권 윤 ykwon@mmlab.snu.ac.kr

2 학습목표 1. 내 컴퓨터에 안드로이드 개발환경을 구축할 수 있다. 2. 안드로이드 프로그램의 기본 구조를 간략히 살펴본다. 3. 예제를 통해서 안드로이드의 구성요소들을 경험해 본다. 4. 실습을 통해서 간단한 안드로이드 어플리케이션을 자신의 모바일 디바이스에서 실행해 본다.

3 안드로이드 SDK 설치 및 실행 Java SDK 설치 -http://java.sun.com/javase/downloads/index.jsp http://java.sun.com/javase/downloads/index.jsp Eclipse + Android SDK 다운로드 - http://developer.android.com/sdk/index.htmlhttp://developer.android.com/sdk/index.html 다운로드 버튼을 누르고, 자신의 OS 를 선택하면 압축파일을 다운 받을 수 있는데, 달리 설치가 필요하지는 않고, 압축 해제만으로 Eclipse 를 포함한 개발 환경을 이용할 수 있다. 3/27

4 안드로이드 SDK 설치 및 실행 기존 Eclipse 사용자의 경우 Help > Eclipse Marketplace 선택 Find : android adt 를 검색, Android Development Tools for Eclipse > Install 안드로이드 공식 사이트에서 USE AN EXISTING IDE 섹션을 통해 SDK Tool 을 받아서 설치하면 됨 4/27

5 ADT Eclipse 실행 설치 디렉토리에서 eclipse 를 실행시킨 후, workspace 를 선택하고, Window>Android SDK Manager 를 통해 API 버전에 맞는 필요한 패키지들을 설치한다. 5/27

6 안드로이드 어플리케이션 프로젝트 생성 (1/3) File > Android Application Project 선택 Application name, Project name, Package name 을 설정한다. 패키지명은 앱을 workspace 내에서 unique 해야하고 보통 도메인명을 역순으로 사용함 예 ) Application Name : AndroidExample Project Name : AndroidExample Package Name : com.example.androidexample 6/27

7 안드로이드 어플리케이션 프로젝트 생성 (2/3) Next 버튼을 누르면 런처 아이콘, 프로젝트 생성시 액티비티를 생성할 것인가 ? 라이브러리 프로젝트로 생성할것인가 ? 실제 프로젝트의 위치, 런처 아이콘 설정, 생성되는 액티비티 종류와 같은 기본적인 프로젝트 설정을 할 수 있다. 기본 설정대로 가되, 마지막 Create Activity 부분에서는 Blank Activity 를 선택하도록 한다. 7/27

8 안드로이드 어플리케이션 프로젝트 생성 (3/3) 프로젝트 생성시 마지막 설정 창에서는 프로젝트와 함께 생성될 Activity 의 이름과, 해당 Activity 에 연결될 layout 명을 설정하고 Finish 를 누르면 새로운 안드로이드 어플리케이션 프로젝 트가 생성이 된다. 8/27

9 안드로이드 어플리케이션 프로젝트 구조 (1/4) 이클립스에서 좌측에 보이는 Package Explorer 가 나오는지 확인해 보고, 보이지 않을 경우, Window > Show View > Package Explorer 를 선택하도록 하자 9/27

10 안드로이드 어플리케이션 프로젝트 구조 (2/4) 프로젝트명 > src > 패키지명 > 액티비티명.java. > res > layout > 레이아웃명.xml Package Explorer 를 통해서 프로젝트에서의 구조를 파악할 수 있는데, 먼저 실제 프로그래밍으로 구현을 해야 하는 부분은 src 디렉토리 아래에 있게 되고, java 파일로 구현을 한다. 또한 해당 액티비티와 연결될 레이아웃 파일은 res 디렉토리 아래 layout 안에 xml 파일로 구현한다. 10/27

11 안드로이드 어플리케이션 프로젝트 구조 (3/4) AndroidManifest.xml app 의 기본적인 성격과 앱을 이루는 요소들을 설명 ex) sdk 버전, Activity, Permission 등 src/ 앱의 주요 소스 파일들을 위한 디렉토리 res/ 앱 리소스 디렉토리 drawable-xhdpi/ 해상도에 따라 drawable object( 이미지 파일 등 ) 을 위한 디렉토리 layout/ 앱의 UI 를 위한 xml 파일들을 위한 디렉토리 values/ 문자열이나 값들을 정의하는 xml 파일들을 위한 디렉토리 11/27

12 안드로이드 어플리케이션 프로젝트 구조 (4/4) 안드로이드의 MVC 모델 Model SharedPreference, SQLite DB 등의 데이터 저장 관련 인터페이스 View Layout 디렉토리에 xml 파일을 이용하여 정의 Controller Src 폴더에 java 소스코드를 이용하여 구현 Activity 는 애플리케이션의 기본 구성 단위 MVC 에 해당하는 클래스들을 이용해서 화면을 나타냄 View Controller Model Android Application 12/27

13 안드로이드 User Interface 안드로이드 앱의 유저 인터페이스는 View 와 ViewGroup 으로 이루어짐 ViewGroup 은 View 또는 ViewGroup 을 포함할 수 있고, 각 ViewGroup 은 화면의 한 영역을 보여준다. 자주 사용되는 ViewGroup 과 View 는 종류에 따라서 각 서브 클래스 별로 layout 의 xml 파일에서 이름을 통해 사용할 수 있다. 13/27

14 안드로이드 User Interface ADT 를 이용할 경우, layout xml 에 대해 왼쪽과 같은 Graphical Layout 을 제공해 준다. 해당 화면의 xml 정의는 오른쪽과 같다. Xml 의 파일을 수정하게 되면 Graphical Layout 에서 수정사항을 확인할 수 있다. 여기에서 ViewGroup 은 RelativeLayout 이고, 그 안에 TextView 라는 View 가 들어있다. Layout Parameters Widget 14/27

15 Java 프로그래밍의 기본 기본적인 자바 코드의 구조 자바에서는 모든 것이 클래스로 정의되고, 클래스는 멤버변수, 메소드를 가질 수 있다. 정의된 클래스를 이용해서 객체를 생성해서 해당 인스턴스를 이용해 메소드를 호출하거나 변수를 사용할 수 있다. 15/27

16 Activity 구성 src/MainActivity.java 의 구조 MainActivity 는 Activity 클래스를 상속 받은 서브클래스로, 부모 클래스의 성질을 그대로 가지되, onCreate 와 onCreateOptionsMenu 라는 메소드를 오버라이드 하였다. onCreate 는 이름대로, 액티비티가 생성 되는 시점에서 호출되는 메소드인데, 여기에서 setContentView 를 통해 현재 애플리케이션 resource 의 클래스인 R 로부터 앞서 본 activity_main.xml 레이아웃 정의에 연결하고 있다. 16/27

17 간단한 UI 만들기 activity_main.xml 을 수정해서 TextView 위에, 입력가능한 textfield 클래스인 EditText 와, Button 을 수평으로 나란히 갖는 LinearLayout 을 추가한다. 기본 Layout 인 RelativeLayout 에서는 기준 위젯 으로 부터 상대적인 위치로 이후의 위젯의 위치를 결정 할 수 있다. (above, below, layout_toRightof) 각 위젯을 특정하고 해당 위젯에 접근하기 위한 인덱스로 id 값을 지정할 수 있다. Value 값으로 xml 로 따로 저장한 경우 “@id” 를 통해서 접근 가능하고 새로 동적으로 추가할 경우 “@+id” 를 이용할 수 있다. 17/27

18 간단한 UI 만들기 18/27

19 간단한 UI 만들기 변경된 xml 에 맞추어 Activity 에서 동작 정의 각 위젯에 연결될 멤버 변수를 선언 onCreate 에서 findViewById 메소드를 이용해 xml 에서 등록한 리소스 id 를 통해 해당 뷰를 특정하고 접근 할 수 있다. 각각의 위젯을 id 를 통해 연결을 하고, 버튼의 경우 클릭시의 동작을 구현하기 위해서는 setOnClickListener 메소드를 이용하면 된다. OnClickListener 객체를 생성하고 내부 메소드 onClick 메소드를 오버라이드 하여, editText 의 현재 텍스트를 가져와서 textView 의 텍스트로 업데이트 하는 동작을 하도록 구현한다. 19/27

20 간단한 UI 만들기 20/27

21 Activity 추가하기 src 디렉토리에서 New > Class 를 선택해서 android.app.Activity 클래스를 상속 받는 SecondActivity 클래스를 생성한다. 21/27

22 Activity 추가하기 AndroidMenifest.xml 파일에서 신규 액티비티 를 등록해야 하기 때문에 안에 필드를 추가하도록 한다. 그 후, layout 디렉토리에 New > Android XML file 메뉴를 선택해서 SecondActivity 에 연결될 레이아웃 xml 파일을 생성하도록 한다. 22/27

23 Activity 추가하기 SecondActivity 에 연결될 layout 은 LinearLayout 을 root 로 하도록 하고 Finish 를 눌러 생성한다. 그 결과 아래와 같은 xml 파일이 생성되는데, 여기에 btnGoBack 이라는 버튼을 하나 추가하도록 하자. 23/27

24 Activity 추가하기 SecondActivity 에 MainActivity 와 마찬가지로 onCreate 메소드를 오버라이드 하고, btnGoBack 에 대해서 OnClickListener 를 정의해 준다. onClick 시에 메시지 전달 객체인 intent 를 이용해, 현재 SecondActivity 에서 도착 Activity 를 MainActivity 로 설정한 후, startActivity 메소드로 MainActivity 를 띄우고 현재의 Activity 는 finish 로 종료시킨다. 24/27

25 Activity 추가하기 [ 실습 ] 지금까지 구한 MainActivity 에 왼쪽과 같이 Change 버튼 옆에 GoNext 버튼을 추가하고, 버튼을 누를 경우, SecondActivity 로 이동할 수 있도록 해보라. (ativity_main.xml 과 MainActivity.java 를 수정하시오 ) 25/27

26 실습 결과 시간이 남으시는 분들은 위젯들을 조합하여 자유롭게 만들고 싶은 액티비티를 구현해 보세요 26/27

27 참고 안드로이드는 구글링이 최고입니다. - 수많은 시행착오와 해결방법 - 풍부한 도큐먼트와 한글자료들 - 인터넷에서 쉽게 다운받을 수 있는 훌륭한 예제들 안드로이드 개발자 공식사이트 문서로도 충분합니다. -http://developer.android.com/guide/index.htmlhttp://developer.android.com/guide/index.html 27/27


Download ppt "Android Tutorial 안드로이드 SDK 설치 및 기초 프로그래밍 강좌입니다 서울대학교 네트워크 융합 및 보안 연구실 권 윤"

Similar presentations


Ads by Google