Android Activity & Layout & View

Slides:



Advertisements
Similar presentations
2. 미디어 쿼리 : 다양한 뷰포트의 지원 김은옥 1 학습목표 : 여기서는 미디어 쿼리 작성방법, 뷰포트 지정 방법 등 을 살펴본다.
Advertisements

 Activity  View  View Group - Layout  어플리케이션 내의 하나 의 스크린  UI 컴포넌트를 화면에 표 시하고 시스템이나 사용 자의 반응을 처리  어플리케이션이 UI 를 가 진다면 하나 혹은 그 이 상의 Activity 를 가지며.
2014 년 3 학년 1 학기 월요일 분반 (001,005) 인공지능연구실.  Activity  View  View Group - Layout.
스마트 KTC 사용자 매뉴얼 스마트폰용 모바일학생증 앱 설치 및 기본기능. 강원관광대 스마트 KTC 앱 설치 강원관광대학교 모바일학생증 앱 ( 이하 ‘ 스마트 KTC’ 로 명명 ) 은 안드로이드폰은 Google Play Store, 아이폰 은 App Store 에서 무료로.
Android Activity & View & Layout
2016 유성환 Hybrid MOBILE.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
Android 개발환경 설정 및 Android View 소개
Android Application 애플리케이션 위젯.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
04. 기본 위젯 익히기 제목.
윤 홍 란 다이알로그(대화상자) 윤 홍 란
CHAP 24. nfc와 앱위젯.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
Android 시리즈 H2O SIM Card 데이터 사용 설정 방법
Android Activity & View & Layout
Communication and Information Systems Lab. 황재철
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
05. 레이아웃 익히기 제목. 05. 레이아웃 익히기 제목 레이아웃의 개념을 익힌다. 화면을 다양한 레이아웃으로 구성한다. Java 코드만으로 화면을 작성해 본다.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
Power Java 제14장 배치 관리자.
UNIT 05 신문 만들기 로봇 SW 콘텐츠 연구원 조용수.
CHAP 12. 리소스와 보안.
JA A V W. 03.
프로그래밍 개요
10장 tkinter로 GUI 만들기.
30강 JAVA 그래픽 JAVA GUI(Graphic User Interface)란? AWT 컴포넌트? Swing 컴포넌트?
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
CHAP 5. 레이아웃.
Lesson 2. 기본 데이터형.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Achro-5250, IMX6 안드로이드 어플리케이션.
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Clipping 이진학.
웹디자인
2강_첫번째 안드로이드 프로젝트 에뮬레이터(AVD) 만들기 처음 만들어 보는 프로젝트 전체적인 구성 살펴보기
3강_레이아웃-I 화면구성 요소 뷰에 대한 이해 LinearLayout Lecturer Kim Myoung-Ho
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
CHAP 21. 전화, SMS, 주소록.
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
( Windows Service Application Debugging )
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
05. 레이아웃 익히기 제목.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
메뉴(Menu) 컴퓨터응용 및 실습 I.
위젯과 레이아웃.
함수, 모듈.
웹과 모바일 홈페이지의 이해와 제작 폰트_레이아웃
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
15강_액티비티 액티비티란? 새로운 액티비티로 전환 생명주기 화면방향(Orientation)
“Poster Main Title” Author and co-author names
어서와 C언어는 처음이지 제21장.
05. 레이아웃 익히기 제목. 05. 레이아웃 익히기 제목 레이아웃의 개념을 익힌다. 화면을 다양한 레이아웃으로 구성한다. Java 코드만으로 화면을 작성해본다.
7 생성자 함수.
6 객체.
Chapter 11. 문서 인쇄 및 파일 형식.
Ch 4. 선택 위젯의 사용과 커스텀뷰 만들기 Assignment #1 04 – 1, 2) 08학번 정보과학과 유재윤
20 XMLHttpRequest.
Presentation transcript:

Android Activity & Layout & View

목차 Activity Process lifecycle View View Group - Layout

Android - Activity 어플리케이션 내의 하나 의 스크린 UI컴포넌트를 화면에 표 시하고 시스템이나 사용 자의 반응을 처리 어플리케이션이 UI를 가 진다면 하나 혹은 그 이 상의 Activity를 가지며 기존의 Activity는 같은 기능을 하는 새로운 것으 로 대체 될 수 있다.

Activity – Lifecycle Lifecycle 은 PC 보다 상 대적으로 사양이 낮은 모 바일 기기에서 효율적인 메모리 관리를 위해 존재 기본적으로 Activity는 Activity Stack에서 관리 가 된다. 즉 오래된 Activity 들은 점 점 아래에 배치되게 된다.

Activity – Lifecycle OnCreate() : Activity가 생성될 때 처음으로 호출되는 함수를 말합니다. 리소스의 초기화 OnStart() : Activity가 사용자에게 보여줄 준비가 되었을 때 호출됩니다. OnResume() : Activity가 사용자에게 보여지고 사용자의 입력을 처리할 수 있습니다. Activity스택의 가장 상위에 위치합니다.

Activity – Lifecycle OnPause() : 포커스를 잃고 Activity가 Resume되기 전에 데이터에 저장 , 에니메이션 중지, cpu를 소비하는 작업을 중단합니다. OnStop() : 더이상 Activity가 사용자에게 보여지지 않습니다. 더 이상 Activity가 스택의 가장 위에 있지 않습니다. OnDestroy() : 시스템 내에 Activity가 존재하지 않게 됩니다.

Android – Activity 예제 Main - Activity

Android – Activity 예제 SubActivity

Android – Activity 예제 매니페스트 등록! 보안상의 이유로 응용 프로그램에 포함된 모든 액티비티 는 반드시 매니페스트에 등록되어야 한다.

Android – Activity 예제 결과 화면

View View 는 안드로이드의 사 용자 인터페이스(UI)를 구 성하는 핵심 컴포넌트로서 화면상의 사각영역을 차지 하며 자신의 모양을 그리 고 사용자로부터 입력을 받아들인다.

AutoCompleteTextView Object View AnalogClock TextView EditText Button Chronometer DigitalClock ImageButton GlSurfaceView VideoView AbsSeekBar ImageView SurfaceView ProgressBar AutoCompleteTextView CompoundButton CheckBox RadioButton ToggleButton SeekBar RatingBar

View – 뷰 그룹 뷰 그룹 : 직접적으로 보이지 않으며 다른 뷰를 담는 컨테이 너 역할을 한다. 이름 그대로 여러 개의 뷰를 유기적으로 모 아 놓은 것이다. 쉽게 말해 이 부류를 레이아웃이라 칭한다. Object View ViewGroup FrameLayout AbsoluteLayout RelativeLayout LinearLayout WebView ScrollView. HorizontalScrollView TabHost. TimePicker. DatePicker ViewAminator ViewFlipper TextSwitcher ViewSwitcher ImageSwitcher RadioGroup. ZoomControls TableLayout. TableRow TabWidget AbsListView ListView GridView AbsSpinner Spinner Gallery AdapterView

View - Text View Text View ? 주 사용 속성 이름 그대로 화면에 텍스트를 출력하는 위젯. 사용자의 입력을 받아들이지는 않는다. 주 사용 속성 Text TextColor textSize TextStyle 출력할 문자열 지정 문자열의 색상을 지정한다. 폰트의 사이즈를 지정한다. 폰트의 속성을 지정한다. 디폴트로서 빈문자열을 가진다. 디폴트로서 밝은 회색을 가진다. Sp, dp, px, in, mm 등의 단위를 지정해야한다. Normal, bold, italic 중 하나를 쓰거나 묶어쓰는것이 가능하다.

View – TextView 예제

View - ImageView ImageView ? 주 사용 속성 이미지 뷰는 아이콘이나 비트맵을 출력하는 위젯이다. 리소스, 파일 등은 기본에 웹 상의 이미지 역시 표기가 가능 하다. 주 사용 속성 Src maxHeight maxWidth adjustViewBounds 이미지 지정 이미지가 출력될 크기 지정 이미지의 종횡비를 맞추기 위해 이미지 뷰의 크기를 조절한다. @drawable/ID 형식으로 표기 모바일 장비의 해상도가 충분하지 않으므로 크기를 제한할 필요가 있다. true 나 false 중 하나를 활용한다.

View - ImageView 주 사용 속성 cropToPadding Tint scaleType 위젯의 주어진 여백에 맞추기 위해 이미지 일부를 자른다. 이미지에 색조를 입히는 기능. 이미지의 원래 크기와 다르게 출력할 때 적용할 확대, 축소 알고리즘을 지정한다. True or false 로 표기한다. #aarrggbb 형식으로 색상을 지정하는데 이 색상이 이미지 위에 살짝 덥혀 출력된다. Matrix, fitxy, center, centerCrop, centerInside 등의 여러가지 알고리즘 중 하나를 지정한다.

View - ImageView 이미지 등록 방법

View – ImageView 예제

View – Button & EditText 사용자의 명령을 전달받는 위젯 EditText ? 문자열을 입력 받는 위젯 사용자의 입력을 받아 들이는 위젯은 내용을 출력 만 하는 위젯에 비해 속성도 더 많고 이벤트도 처 리해야 하므로 훨씬 더 복잡하기 때문에 이번 실습 에서는 간단한 이벤트 처리만 소개함.

View – Button & EditText 예제

View – Button & EditText 예제

ViewGroup - Layout Layout 이란 보여지는 시각물을 보다 간결하게 정 리, 배열, 배치하는 효과와 함께 가독성을 높이기 위한 작업 과정을 말한다. 이와 같이 TextBox 의 크기나 위치를 조절할 수 있다

ViewGroup - Layout 안드로이드 프로그래밍에서의 레이아웃은 사용자 에게 어떻게 보여줄것인지, 어떻게 비춰질것인지 를 고려해서, UI를 만들고, 위젯들을 구성하고 배 치하고, 좀 더 적합하게, 좀 더 효율적으로, 좀 더 편하게 쓸 수 있도록 해주는 것. 안드로이드는 모바일플랫폼. 모바일디바이스는 굉장히 작은 디스플레이를 사용하기 때문에,작은 화면 안에서 모든 것을 보여주고 사용할 수 있도록 되어있다. 그러면서도 필요한 요소들은 화면에 나 와있어야 하고, 불필요한 요소들은 최대한 제거해야 하지 요.

ViewGroup - Layout 즉, 포인트는 어떻게 하면 내가 원하는 데로 사용 자에게 보여줄 수 있는가 이다. 그러기 위해서는 다음과 같은 사항을 이해 해야 한 다. 1. UI에 사용되는 위젯(뷰)들을 이해하자. 2. 각 위젯의 속성을 이해하자. 3. 위젯과 위젯의 관계를 이해하자. 4. 화면을 설계하자.

Layout - LinearLayout Android 의 기본 Layout 은 LinearLayout. 왠만한 UI는 LinearLayout과 다른 위젯들을 함께 쓴다면 충분 히 만들어 낼 수 있습니다! LinearLayout을 컨트롤 하기 위한 몇 가지 속성 android:layout_width 속성 - 이 속성은 레이아웃의 가로크기를 나타냅니다. android:layout_height 속성 - 이 속성은 레이아웃의 세로크기를 나타냅니다.

Layout - LinearLayout 부모크기만큼(부모의 전체크기중에서, 내가 지금 작성한 레이아웃보다 먼저 작성된 레이아웃을 제외하고 남은 크기) SDK 2.2부터는 match_parent 로 사용 가능. Match_parent 는 fill_parent와 같은 값이지만, 아직은 모든 디바이스가 2.2 이상의 SDK를 사 용하지 않으니, 이 값은 거의 사용하지 않는다. 가지게 될 데이터 크기만큼 내가 작성하려는 레이아웃이 가지게될 자식 레이아웃들의 크기가 얼마나 커질지 알 수 없는 상 황일때 사용. 또는, 텍스트 뷰, 이미지 뷰의 경우에는 입력받게될 텍스트, 입력될 이미지의 크기에 따라 레이 아웃의 크기를 변경할때 사용. pixel 또는 dp(dip)로 직접지정 직접 숫자를 지정해서 레이아웃을 작성 가능 dp의 경우에는 잘만 사용한다면 왠 만한 경우에 대해서도 같은 UI를 제공할 수 있는 방법이기 때문에 추천되는 경우이지만, pixel의 경우에는 상당히 비 추천하는 방법. dp를 사용하는 방법은 많은 Resource를 제공해 줄 수 없는 상황에서 상당히 현명하고 유리한 선택이 될 수 있습니다. 모든 리소스를 제공할 수 있다면 모든 디바이스에 같은 UI를 보여줄 수 있겠지만 이는 사실상 힘들다.

Layout - gravity와 layout_gravity android:gravity 속성 이 속성은 현재 작성하고 있는 레이아웃의 자식 레이아웃들 이 중력을 어디로 가질지 정해줍니다. android:layout_gravitiy 속성 이 속성은 현재 작성하고 있는 레이아웃의 중력을 어디로 가 질지 정해줍니다. 해당 값들은 논리적으로 만족할 경우 복수의 값을 지정가능.

Layout - gravity와 layout_gravity android:gravity & android:layout_gravity 에 설 정할 수 있는 값 Left, right, top, bottom, center_vertical, center_horizontal, center

Layout - gravity와 layout_gravity 실습 예제

Layout – layout_weight android:layout_weight 는 기본적으로 비율을 나 타내는 속성 layout_weight에 0의 값을 준다면, 이 레이아웃은 절 대적으로, 배정받은 크기만큼의 영역을 차지하겠다 라 고 선포하는 것

Layout – layout_weight 실습 예제

Layout - AbsolutLayout AbsoluteLayout은 이름 그대로 관계나 순서에 상관없이 지정한 절대 좌표에 차일드 뷰를 배치하 는것을 말한다. 규칙이 매우 단순하므로 다음 예제를 참고한다.

Layout – AbsolutLayout 예제 Absolutelayout xml

Layout - TableLayout TableLayout은 이름이 의미하는 바대로 표 형식 으로 차일드를 배치하는 레이아웃이다. 표는 가로, 세로로 줄을 긋고 각 줄이 만나는 행과 열로 구성되는데 쉽게 말해서 바둑판 모양이라고 생각하면 된다. 테이블은 임의 개수의 TableRow 객체로 구성되며 이 객체 하나가 곧 행이 된다.

Layout – TableLayout - 예제 TableLayout xml

실습 지금까지 활용한 예제를 사용. 메인화면에 3개의 버튼을 두어 1번은 TextView 예제를 2번은 ImageView 예제를 3번은 Button & EditText 예제를 호출한다. 메인화면은 활용하고 싶은 Layout 을 활용할 것. (아래에 셋 중 하나로 해도 무방) 1번은 LinearLayout 을 활용할 것. 2번은 AbsoluteLayout 을 활용할 것. 3번은 TableLayout 을 활용할 것.

결과 화면 메인 화면

결과 화면 TextView 화면 입니다.

결과 화면 ImageView 화면 입니다.

결과 화면 Button & Edit 화면 입니다.

Import 방법 이런 식으로 사용할 view에 대한 패키지를 Import 해줘야 합니다.