제 2 강 프로젝트 구성과 View 안드로이드 앱 개발 강좌. 목 차목 차목 차목 차 목 차목 차목 차목 차 안드로이드 프로젝트 구성 2 에뮬레이터 사용법 3 버전과 screen size 4 5 Hello World 앱 작성하기 1 View 와 ViewGroup.

Slides:



Advertisements
Similar presentations
Android Application. 최신버전 안드로이드 SDK 설치 1. SDK 설치 접속.
Advertisements

Android Tutorial 안드로이드 SDK 설치 및 기초 프로그래밍 강좌입니다 서울대학교 네트워크 융합 및 보안 연구실 권 윤
Application Create Android Side. Application 설계 시 꼭 지켜야 할 5 가지 UI 쓰레드는 UI 만 처리하게 하자 사용자를 방해하지 말라. 다양한 화면 해상도를 지원하라 –Absolutelayout 을 사용하지 말아라 ( 고정값 )
For Android 이재원.  페이스북 SDK 설치  2 가지 예제 & 소스  API 사용 예제 프로젝트 만들기  Graph API  참고사항 & 사이트.
삼성소프트웨어멤버십 20 th 박희근 ( A n d r o i d.
안드로이드 (Android) 발표자 : 이강민. 1. 안드로이드란 ? 구글에서 제작한 모바일 디바이스를 위한 플랫폼 ▫ 모바일 디바이스 플랫폼이란 ?  모바일 디바이스를 위한 소프트웨어 집합 ( 미들웨어, 키 어플리케이션, 운영체제 등 ) 2. 모바일 플랫폼 시장 점유율.
2014 년 3 학년 1 학기 월요일 분반 (001,005) 인공지능연구실.  Activity  View  View Group - Layout.
Page 1 Android Programming November 04 / 2009 S/W Junhyuk Jang.
Unlocking Android 안드로이드 패키지 (1/2) 2 Unlocking Android 안드로이드 패키지 (2/2) 3.
임베디드 모바일 프로그래밍 1 3. 첫 번째 어플리케이션 작성 텍스트 ‘Hello BREW ^^’ 를 출력하는 프로그램 작성하기 (1) App. 프로젝트 - 시작 프로젝트를 작성하기 위하여 MS-Visual C++ 를 실행시킨다. [File  New] 를 선택하고, New.
Copyright © PJY All rights reserved..  Java JDK Install & configuration  Android SDK  Eclipse Install & configuration Table of Contents.
Android Activity & View & Layout
6 메 뉴.
School of Computer, Information & Communication Engineering
CHAP 18. 멀티미디어.
CHAP 10. 액티비티와 인텐트.
Android Programming 고급위젯
Android 개발환경 설정 및 Android View 소개
기존 비조명포스터 광고매체를 전량 폐첨 신규로 설치되는 광고 매체입니다
CHAPTER 4. CSS 스타일시트 기초.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
CHAP 7. 메뉴와 대화상자.
Android Activity & Layout & View
홈페이지 자동 구축 솔루션 K2 Web WIZARD 2.6 관리자 메뉴얼
축산 인식개선을 위한 농협의 추진 사례 ( ) 농협중앙회 축산지원단장 박인희.
Chapter 02 JAVA 프로그래밍 시작하기 01 실무에서 사용하는 JAVA 개발 환경 02 JAVA 프로그램 작성
How to build android Copyright © PJY All rights reserved.
04. 기본 위젯 익히기 제목.
Java Seminar 6.
CHAP 4. 이벤트 처리.
CHAP 6. 이벤트 처리.
13. 멀티미디어와 Google 지도 제목. 13. 멀티미디어와 Google 지도 제목.
UNIT 07 그림책 만들기 1/2 로봇 SW 콘텐츠 연구원 조용수.
제1강 안드로이드 특징과 개발환경 구축 안드로이드 앱 개발 강좌.
어댑터뷰 리스트 뷰, 그리드 뷰, 스피너, 갤러리 등을 묶어 어댑터 뷰라 부름
안드로이드 개요 2005년 휴대폰 소프트웨어 개발사인 Android를 구글이 인수 2007년 11월 오픈소스로 공개
PART 1 앱 인벤터 프로젝트 01 안녕 야옹이. PART 1 앱 인벤터 프로젝트 01 안녕 야옹이.
13. 멀티미디어와 Google 지도 제목. 13. 멀티미디어와 Google 지도 제목.
3주차 Android Application ANDROID App..
CHAP 7. 메뉴와 대화상자.
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
Android를 이용한 Snake Game
CSS – 개요 Cascading Style Sheets의 약자 “계단형 스타일시트”라고 한다.
08. 파일 처리 제목. 08. 파일 처리 제목 파일을 처리하는 방식을 익힌다. SD카드의 파일을 처리하는 방식을 배운다. 커스텀뷰의 작성법을 알아본다.
HTML5 웹 프로그래밍 입문 (개정판) 5장. 고급 표현을 위한 CSS3 활용.
Android 개발환경 설치 및 Hello World
CHAP 6. 이벤트 처리.
안드로이드 테트리스에 필요한 최소 기능.
UNIT 05 신문 만들기 로봇 SW 콘텐츠 연구원 조용수.
02. 처음으로 만드는 안드로이드 애플리케이션 제목.
Javafx UI.
CHAP 12. 리소스와 보안.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
Platform Builder 기본 사용법
Flash를 이용한 벡터 애니메이션 제작.
CHAP 3. 첫번째 애플리케이션.
Achro-5250, IMX6 안드로이드 어플리케이션.
Bingo 빙고 따라가기.
Pspice를 이용한 전기/전자회로 모의해석 –
For Linux 1.0.
1강 포토샵 기초 한겨레문화센터 전임강사 임 규 근.
JSP와의 첫 만남 간간한 JSP 프로그램을 작성하면서 앞으로 학습에 필요한 과정을 익힌다.
05. 레이아웃 익히기 제목.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
CHAP 11. 리소스와 보안.
운영체제보안 3번 과제 설명 팀 기반의 설계 프로젝트 박민재
간단 메뉴얼 날짜: 2003년 5월 작성 및 발표 : 박상철.
Web & Internet [10] 입문 – input 태그
Choi Younghwan CSE HUFS
Presentation transcript:

제 2 강 프로젝트 구성과 View 안드로이드 앱 개발 강좌

목 차목 차목 차목 차 목 차목 차목 차목 차 안드로이드 프로젝트 구성 2 에뮬레이터 사용법 3 버전과 screen size 4 5 Hello World 앱 작성하기 1 View 와 ViewGroup

1. Hello World 앱 작성하기

(1) File > New > Android Project (2) 프로젝트 생성 #1

1.Hello World 앱 작성하기 프로젝트 생성 #2 프로젝트 생성 #3 Application Name 응용프로그램 자체의 이름 HelloWorld 로 입력 Project Name 프로젝트 이름 입력 이클립스의 Project Explorer 에서 프로젝트 식별 명칭으로 사용 여기서는 HelloWorld 사용 Package Name 프로젝트 생성 클래스가 저장될 패키지 이 름, 클래스파일 저장될 폴더 경로 패키지명은 고유해야함 유일한 패키지를 사용해야만 구글 플레이 에 업로드 가능

1.Hello World 앱 작성하기 (3) Configure Project - 프로젝트 관련 기본 정보들 설정 - 특별한 이유가 아니면 체크박스 수정은 않는 것을 권장 Create custom launcher icon 사용자 정의 아이콘을 사용할지 여부 설정 체크박스 Create activity 프로젝트의 액티비티 생성 여부 선택 Mark this project as a library 프로젝트를 라이브러리로 만들어 사용할 때 체크 Create Project in Workspace 프로젝트 소스를 이클립스 workspace 에 생 성하는지 여부 옵션 체크 해제시에는 원하는 위치 프로젝트 생 성 가능

1.Hello World 앱 작성하기 (4) Configure Launcher Icon - 사용자 정의 홈 아이콘 쉽게 만들게 한 설정화면 Foreground 홈 화면에서 보이는 launcher 아이콘을 선 택하는 화면 Image : 별도의 이미지 선택 Text : 문자를 아이콘으로 사용 clipart : 안드로이드 제공 클립아트 중 선택 shape 아이콘 배경이 되는 부분 설정 none 배경이 투명 Square 사각형 Circle 원형

1.Hello World 앱 작성하기 (5) Create Activity (6) New Blank Activity

1.Hello World 앱 작성하기 (6) New Blank Activity Create custom launcher icon 사용자 정의 아이콘을 사용할지 여부 설정 체크박스 Create activity 프로젝트의 액티비티 생성 여부 선택 Mark this project as a library 프로젝트를 라이브러리로 만들어 사용할 때 체크 Create Project in Workspace 프로젝트 소스를 이클립스 workspace 에 생 성하는지 여부 옵션 체크 해제시에는 원하는 위치 프로젝트 생 성 가능

1.Hello World 앱 작성하기

2. 안드로이드 프로젝트 구성

2. 안드로이드 프로젝트 구성 - 폴더 폴더 이름설명폴더의 파일들 src 안드로이드 코드를 작성하는 부분. ProjectActivity.java gen res 에서 내부적으로 생성한 컴포넌트 ( 버튼, 뷰, 체크박스 등...) 에 대한 리소스 주소를 상수화하여 자동 빌드해주며 코드상에서 컴포넌트들에 대한 접근을 쉽게 하기 위한 목적으로 존재하는 파일 R.java assets res 에 의해 참조하는 곳이 아닌 절대경로를 통하여 또다른 리소스를 참조 폴더 보통 오디오, 동영상, 웹 컨텐츠들을 저장 외부 db 파일 등 … res 이미지, 레이아웃, 스트링 등의 정적 개체들이 저장 Drawable : 이미지 저장 Layout : view, 화면구성부분 Values : string 등,color,anim, raw, menu 등의 폴더를 추가로 등록 지정 가능 icon.png main.xml strings.xml

2. 안드로이드 프로젝트 구성 - 파일 파일 이름경로설명 프로젝트의 최초 액티비티를 나타내는 파일입니다. 액티비티는 간단히 말씀드리자면 앱이 사용자에게 보여주는 화면이라고 보시면 됩니다. 보다 자세한 내용은 별도로 작성 예정입니다. R.java 파일은 프로젝트를 빌드할 때 생성되며, 클래스 R 을 정의합니다. 이 클래스는 attr, drawable, layout, string 이라는 내부 클래스를 추가로 정의합니다. 이들 안에 프로젝트와 관계된 리소스들의 ID 들이 @res/drawable-mdpi 프로젝트로 빌드한 앱의 아이콘 파일입니다. 기기에 다운로드 된 앱의 그것은 안드로이드의 메뉴에서 보실 수 있습니다. 이 파일은 drawable- hdpi, drawable-ldpi, drawable-mdpi 폴더에 다른 크기로 저장되어 있습니다. 어떤 파일이 사용되는지는 안드로이드 기기의 해상도와 화면의 크기에 따라 다릅니다. 프로젝트의 최초 액티비티가 어떤 객체들을 갖는지를 정의하는 파일입니다. 초기 프로젝트에서 이 파일은 LinearLayout 객체, TextView 객체가 정의되어 있습니다. 프로젝트와 관계된 문구들이 정의되어 있습니다. 초기 프로젝트에는 앱의 이름, 인사말이 이 파일 안에 있습니다. AndroidManifest.xml 은 만들고자 하는 앱에 대한 정보와 설정들을 담는 파일입니다. 초기에 이 파일에 담겨있는 정보들은 패키지, 버전, 아이콘, 앱의 이름, 액티비티 관련 값들 등입니다.

2. 안드로이드 프로젝트 구성 안드로이드의 빌드 프로세스 javac Class dx Class.dex apkbui lder APK appt Class

2. 안드로이드 프로젝트 구성 매니페스트 구성 텝 설명 Manifest 프로젝트의 패키지, 버전등의 전반적인 정보 Application 애플리케이션에서 사용하는 이름, 아이콘등과 액티비티의 추가를 할 수 있음 Permission s 애플리케이션이 사용하는 권한 신청 너무 많은 권한을 요구하면 사용자가 외면할 수 있음 반드시 필요한 권한만 설정 Instrument ation 테스트를 위해 제공하는 Instrumentation 프레임 워크에 관한 설정 AndroidMa nifest.xml 다른 탭에서 GUI 환경으로 제공하는 것을 일반 Xml 로 수정

3. 에뮬레이터 사용법

3. 애뮬레이터 사용법 1) Window - Android Virtual Device Manager 를 클릭

3. 애뮬레이터 사용법 2) New 버튼을 눌러서 새로운 안드로이드 기계를 만듬 3) 새로운 안드로이드 기계를 만드는 과정

3. 애뮬레이터 사용법 3) 새로운 안드로이드 기계를 만드는 과정 이름용도 AVD Name 안드로이드 버츄얼 디바이스 이름 원하는 이름 (myavd) Device 해상도 설정 무난한 4 인치 디스플레이 해 상도로 선택 Memory Options 휴대폰 메모리의 양 설정 Interneal Storage 휴대폰 내장메모리 사이즈 설정 Target 어떤 버전으로 올릴지를 선 택 4) 만든 AVD 를 선택하신후 Start

3. 애뮬레이터 사용법 5) Scale display to real size : 말그대로 실제사이즈로 실행시키는지 를 정하는 체크박스 작게 떠서 좀더 빨리 뜬다고 보면 됨 6) 안드로이드 에뮬레이터 기동중

3. 애뮬레이터 사용법 7) 안드로이드 부팅중 핸드폰 전원켜는 중 8) Avd 실행

4. 버전과 screen size

4. 버전 참고사이트 : %EC%97%AD%EC%82%AC

4.Screen Size 마 ) 안드로이드에서 사용하는 화면 관련 용어 ① 화면크기 (Screen Size) : 화면의 물리적인 크기 의미 - 대각선의 길이로 표기 - 4 인치, 3.5 인치 처럼 주로 인치 단위를 사용 - 대 (large), 중 (normal), 소 (small), 초대형 (xlarge) 로 분류 - 초대형 (xlarge) : 2.3 이후부터 7 인치 초과의 크기를 분류, 갤럭시노트 2 도 여기 해당 ② 종횡비 (Aspect ratio) : 가로와 세로 길이의 비율 - 4:3 16:9 등의 비율로 표기하는 것이 일반적 - Long, notlong 분류 - 호환성 확보와는 크게 상관없음 ③ 화소수 / 해상도 (Resolution) : 화면을 구성하는 점의 개수 * 320, 480 * 800, 720 * 1280 식으로 가로 * 세로로 표기 - 안드로이드는 항상 가로를 먼저 칭함 - 화소수에 상관없이 배치해야 하므로 레이아웃에서는 이 값을 직접 참조하지 않음 ④ 밀도 (Density) : 일정 길이 안에 점이 몇 개나 있는지를 나타냄. - 보통 인치당 점의 개수인 dpi 로 표기 - 이 값이 높을수록 좁은 면적에 많은 정보를 보여줄 수 있음 - 밀도에 따라 UI 의 실제 길이가 결정되므로 실질적으로 가장 중요한 정보 - 초고밀도 (xhdpi: 320), 고 (high: 240), 중 (medium : 160), 저 (low : 120) 로 분류 -(

4.Screen Size Total ldpimdpitvdpihdpixhdpixxhdpiTotal Small9.2% Normal0.1%15.1%33.4%22.2%8.8%79.6% Large0.6%3.6%1.2%0.5% 6.4% Xlarge4.4%0.3%0.1%4.8% Total9.9%23.1%1.2%34.2%22.8%8.8%

4.Screen Size Low density (120), ldpi Medium density (1 60), mdpi High density (240), hdpi Extra high density (320), xhdpi SmallscreenQVGA (240x320)480x640 NormalscreenWQVGA400 (240 x400) WQVGA432 (240 x432) HVGA (320x480)WVGA800 (480x8 00) WVGA854 (480x8 54) 600x x960 LargescreenWVGA800** (480 x800) WVGA854** (480 x854) WVGA800* (480x 800) WVGA854* (480x 854) 600x1024 Extra Largescreen1024x600WXGA (1280x800 ) † 1024x x x x x x x x1600

5. View 와 ViewGroup

5. View 와 ViewGroup – View 의 속성 - 1) 아이디 - 뷰 객체는 한 개의 정수형의 아이디 (android:id) 만 가짐 - 이 아이디는 xml 레이아웃파일에 정의 <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="31dp" android:layout_marginTop="48dp" android:text="Button" /> 기호의 의미는 ID 를 리소스에 정의하거나 참조한다는 뜻 기회를 빠뜨리지 않도록 주의하자 ! -+ 기호는 신규로 ID 를 정의한다는 의미 Button mb1 = (Button) findViewById(R.id.button1); 2) Position ① 크기 (size) : 뷰의 폭 (width) 과 높이 (Height) ② padding : 뷰와 뷰안의 콘텐트 사이 간격을 지정하는 값 ③ margin : 뷰그룹의 속성, 부모뷰와 자식뷰간의 거리 android:paddingBottom="2dp" android:paddingLeft="2dp" android:paddingRight="2dp" android:paddingTop="2dp“ 소스코드 : setPadding(int,int,, int,int);

5. View 와 ViewGroup – View 의 속성 - 3) 뷰크기 설정 방법 - 구체적인 숫자로 전단하는 방법 -MATCH_PARENT : 부모뷰의 크기만큼 다 채움 -WRAP_CONTENT : 뷰가 가진 콘텐트의 크기에 맞게 뷰의 크기 조정 4) 이벤트 처리 - 받은 이벤트는 이벤트 리스너에 전달 -onClick(), onLongClick(), onKey() 등 다양한 이벤트 5) 안드로이드 화면 크기 단위 종류 단위의미 px 화면의 실제 픽셀 dp,dip Density-Independent Pixels 약자 240dp 이면 해상도의 1/240 이 1 픽셀 의미 In 인치 Mm 밀리미터 Sp Scale_Independent Pixels 의 약자 Dp 와 유사한 개념 주로 폰트에 사용

5. View 와 ViewGroup – 기본위젯 - 1)TextView -View 클래스에서 파생된 클래스 - 텍스트를 표시하는 것 -Button 클래스와 에디트텍스트 클랙스의 부모 클래스 [ 속성 ] -textSize -textStyle : bold,italic,normal -Text : 출력될 텍스트 문자열 지칭속성 -textColor -Layout_width,layout_height -singleLine : 문자열이 위젯 크기보다 클 경우 강제로 한줄로 맞추는 속성 3) 스크롤 뷰 (scroll view) - 주로 화면에 내용이 많은 경우에 이를 화면에 벗어나서 표시할 수 없을 때 스크롤을 이용해 화면에 내용 출력 4) 버튼 - 클릭이벤트에 반응해 사용자 요청을 처리하는 위젯 - 이미지버튼 : 이미지를 버튼에 삽입하면 - 체크박스 : 체크됐는지, 안 됐는지의 두가지 상태를 가진 특별한 타입의 버튼 - 라디오버튼 : 라디오 그룹에 묶여있는 라디오는 한 개만 선택 - 토글버튼 : 채크박스와 유사하며 텍스트 변경 2) ImageView -Png, jpeg,gif,bitmap 같은 다양한 이미지 소스로부터 이미지를 화면에 출력하는 뷰 객체 [ 속성 ] -Src : 화면에 출력할 이미지의 아이디를 지정하는 속성 예 ) res/drawable-ldpi/ic_launch.png android:src = -scaleType : ImageView 의 크기에 맞게 이미지 크기를 조정 하거나 움직이게 하는 속성 -maxWidth,maxHeight : 이미지가 이미지뷰에 붙여질 때의 최대 크기 -adjustViewBounds : 이미지 크기의 가로세로비율에 맞게 이미지 뷰의 크기 조정여부 -cropToPadding: 패딩을 맞추기위해 이미지 일부를 잘라낼 지 여부 -Tint : 이미지에 틴트 컬러입히는속성

5. View 와 ViewGroup – 기본위젯 - <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".TestActivity" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="31dp" android:layout_marginTop="48dp" android:paddingBottom="2dp" android:paddingLeft="2dp" android:paddingRight="2dp" android:paddingTop="2dp" android:text=" 확인 " /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="24dp" android:text=" 아이폰 " /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" 안드로이드 " /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" 베가 " /> <RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1dp" > <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1dp" android:text=" 직원 " /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" 협력직원 " /> <ToggleButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="17dp" android:text="ToggleButton" android:textOff=" 커짐 " android:textOn=" 켜짐 " />