LifecareScienceLAB Android Seminar 2 nd class

Post on 23-Feb-2016

68 views 0 download

description

아주대학교. LifecareScienceLAB Android Seminar 2 nd class. Android Software Development 2011/04/13 – p.m. 06:00 – 팔달관 409 호. Review. My First Android Application Hello World 프로젝트 생성 방법 학습 Simulator 실행. My First Android Application. My First Android Application. - PowerPoint PPT Presentation

Transcript of LifecareScienceLAB Android Seminar 2 nd class

아주대학교

LifecareScienceLABAndroid Seminar 2nd class

• Android• Software Development

2011/04/13 – p.m. 06:00 – 팔달관 409 호

아주대학교

Review My First Android Application

Hello World 프로젝트 생성 방법 학습Simulator 실행

My First Android Applica-tion

My First Android Applica-tion

My First Android Applica-tion

Contents List

Android• User Interface• Widget

• TextView, Button, EditText• Layout

Software Development• Software Design

아주대학교

ANDROID

• User Interface• Widget

TextView, Button, EditText• Layout

User Interface User Interface of Android Java

View & ViewGroup View Hierarchy View-

Group

View-Group

View View View

View View

ViewView Object

안드로이드 플랫폼 상의 사용자 인터페이스를 표현하는 기본단위

SubClass : Widget

Button, TextField, etc…

ViewGroupViewGroup Object

안드로이드 플랫폼 상의 View 와 ViewGroup 의 묶음 단위

SubClass : Layout

Linear, Relative, Tabular, etc…

User Interface

User Interface View & ViewGroup

Linear-Layout

Linear-Layout

Button Button

Linear-Layout

Button Button

Btn Btn

Btn Btn

User Interface Activity

안드로이드에서의 과제 /작업의 단위 Widget과 Layout을 제어한다 .

android.app.Activity Class 응용프로그램의 각 화면마다 Activity를 정의하고 구현하는 데 많은 시간을 들이게 된다 .

Example 시동 /스플래시 화면 주 메뉴 화면 게임 플레이 화면 고득점 화면 도음말 /프로그램 정보 화면

시동 / 스플래시 Activity

주 메뉴Activity

도움말 / 프로그램 정보Activity

게임플레이Activity

고득점Activity

User Interface

VG

VG

VG

V V

V V

VG

V V

VG

VG

V V

V

SplashActivity

Main Menu

Activity

Function 2.

Activity

Function 1.

Activity

Layout Hierarchy Activity HierarchyControl

Widget

android.widget 패키지 TextView

화면에 문자를 출력 Button

사용자의 선택 입력 EditText

문자 입력

ViewView Object

안드로이드 플랫폼 상의 사용자 인터페이스를 표현하는 기본단위

SubClass : Widget

Button, TextField, etc…

Widget Widget 사용하기 1

xml 파일에서 정의 후 Activity 에서 ID 를 찾는다 .1. [project]->[res]->[layout]->[main.xml]에 TextView 추가2. Activity 에서 TextView 선언3. Activity 에서 findViewById 메서드로 할당

레이아웃 (xml) 과 소스코드 (activity) 를 연결

Widget Widget 사용하기 2

Activity 에서 생성 후 Layout 에 표시한다 .1. Activity 에서 TextView 생성

new 메서드 사용2. TextView 객체를 ContentView 로 생성

setContentView 메서드 사용

Widget Listener (implementation in Activity)

객체에서 Event 가 발생하였을 때 이를 감지하고 수용하여 실행되는 함수 Ex.) Touch, KeyPress, SensorDataRe-

ceive, … Properties (setup in xml file)

Widget 의 속성 Ex.) Size, Padding, ImageResource, …

Widget TextView, But-

ton, EditText 를 이용하여 버튼을 누르면 편집한 문자열이 출력되는 예제main.xml→

Widget↓ Activity Class

Widget Properties

Widget Properties

<TextView android:id="@+id/textView1" android:textSize="40dp" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center" android:layout_weight="1" android:text="Massage" > <EditText android:id="@+id/editText1" android:textSize="20dp" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Enter Text" android:layout_weight="1" >

<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:orientation="horizontal" android:layout_weight="0" > <Button android:layout_width="wrap_content" android:layout_gravity="center" android:textSize="20dp" android:id="@+id/button1" android:layout_height="wrap_content" android:layout_weight="0" android:text="Refresh" >

Layout웹 디자이너들이 HTML 을 사용하는 것과 비슷하게 , 안드로이드 응용프로그램의 사용자 인터페이스 디자이너는 XML 을 이용한다 .

종류 Linear Layout

View 들을 차곡차곡 쌓는 배치 ( 가장 많이 사용 ) Relative Layout

부모와 자식 , 자식과 자식간의 상대적인 배치 Frame Layout

좌상단에 겹쳐서 쌓는 배치 Table Layout

표형태로 배치

아주대학교

SOFTWARE DEVELOP-MENT

• Software Design

Design Tool State Diagram

프로그램의 상태를 정의한 상태간의 흐름도 Structure Chart

기능 중심의 함수 구조도 Flow Chart

데이터 흐름 중심의 함수 흐름도 UML :: Class Diagram

객체 중심의 클래스 구조도 UML :: Sequence Diagram

순차 중심의 객체와 함수의 흐름도

State Diagram

Not Playing,At the begin-

ning

Playing

Paused

Play

Play

Play

PauseStop

Stop

Pause

PauseStop

Structure Chart

main

process

Input

ouput

sub process 2

sub process 1

sub process 3

print

Flow Chart

i <= 0

Turn on All LED

Output Data in Array[i]

to LED

i++ False

True

Add Random Value to Ar-

ray

Array Size + 1

START

i <= 0

i < Array Size?Turn on All LED

Input Data from But-

ton

False

True

Array[i] == Input?True

i++

Clear ArrayArray Size

<= 0

False

i <= 0

i < Array Size?

New Stage

LED Output

Button Input

Class DiagramClass

ExplainBuilder

문서를 구성하기 위한 메소드를결정하는 추상 클래스

Director

한 개의 문서를 만드는 클래스TextBuilder

일반 텍스트 ( 보통의 문자열 ) 를이용해서 문서를 만드는 클래스

HTMLBuilder

HTML 파일을 이용해서문서를 만드는 클래스

Main

동작 테스트용 클래스

Builder

makeTitlemakeStringmakeItemsclose

TextBuilder

buffer

makeTitlemakeStringmakeItemsclosegetResult

makeTitlemakeStringmakeItemsclosegetResult

HTMLBuilder

Director

builderconstruct

filenamewriter

Uses▲

MainUses▶

Uses▲

Sequence Diagram:Client :Server :Device

work open

print

close

write