LifecareScienceLAB Android Seminar 2 nd class

35
아아아아아 LifecareScienceLAB Android Seminar 2 nd class Android Software Development 2011/04/13 – p.m. 06:00 – 아아아 409 아 아아아아아

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

Page 1: LifecareScienceLAB Android Seminar 2 nd  class

아주대학교

LifecareScienceLABAndroid Seminar 2nd class

• Android• Software Development

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

아주대학교

Page 2: LifecareScienceLAB Android Seminar 2 nd  class

Review My First Android Application

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

Page 3: LifecareScienceLAB Android Seminar 2 nd  class

My First Android Applica-tion

Page 4: LifecareScienceLAB Android Seminar 2 nd  class

My First Android Applica-tion

Page 5: LifecareScienceLAB Android Seminar 2 nd  class

My First Android Applica-tion

Page 6: LifecareScienceLAB Android Seminar 2 nd  class
Page 7: LifecareScienceLAB Android Seminar 2 nd  class
Page 8: LifecareScienceLAB Android Seminar 2 nd  class
Page 9: LifecareScienceLAB Android Seminar 2 nd  class

Contents List

Android• User Interface• Widget

• TextView, Button, EditText• Layout

Software Development• Software Design

Page 10: LifecareScienceLAB Android Seminar 2 nd  class

아주대학교

ANDROID

• User Interface• Widget

TextView, Button, EditText• Layout

Page 11: LifecareScienceLAB Android Seminar 2 nd  class

User Interface User Interface of Android Java

View & ViewGroup View Hierarchy View-

Group

View-Group

View View View

View View

Page 12: LifecareScienceLAB Android Seminar 2 nd  class

ViewView Object

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

SubClass : Widget

Button, TextField, etc…

ViewGroupViewGroup Object

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

SubClass : Layout

Linear, Relative, Tabular, etc…

User Interface

Page 13: LifecareScienceLAB Android Seminar 2 nd  class

User Interface View & ViewGroup

Linear-Layout

Linear-Layout

Button Button

Linear-Layout

Button Button

Btn Btn

Btn Btn

Page 14: LifecareScienceLAB Android Seminar 2 nd  class

User Interface Activity

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

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

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

시동 / 스플래시 Activity

주 메뉴Activity

도움말 / 프로그램 정보Activity

게임플레이Activity

고득점Activity

Page 15: LifecareScienceLAB Android Seminar 2 nd  class

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

Page 16: LifecareScienceLAB Android Seminar 2 nd  class

Widget

android.widget 패키지 TextView

화면에 문자를 출력 Button

사용자의 선택 입력 EditText

문자 입력

ViewView Object

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

SubClass : Widget

Button, TextField, etc…

Page 17: LifecareScienceLAB Android Seminar 2 nd  class

Widget Widget 사용하기 1

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

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

Page 18: LifecareScienceLAB Android Seminar 2 nd  class
Page 19: LifecareScienceLAB Android Seminar 2 nd  class
Page 20: LifecareScienceLAB Android Seminar 2 nd  class
Page 21: LifecareScienceLAB Android Seminar 2 nd  class

Widget Widget 사용하기 2

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

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

setContentView 메서드 사용

Page 22: LifecareScienceLAB Android Seminar 2 nd  class
Page 23: LifecareScienceLAB Android Seminar 2 nd  class

Widget Listener (implementation in Activity)

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

ceive, … Properties (setup in xml file)

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

Page 24: LifecareScienceLAB Android Seminar 2 nd  class

Widget TextView, But-

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

Page 25: LifecareScienceLAB Android Seminar 2 nd  class

Widget↓ Activity Class

Page 26: LifecareScienceLAB Android Seminar 2 nd  class

Widget Properties

Page 27: LifecareScienceLAB Android Seminar 2 nd  class

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" >

Page 28: LifecareScienceLAB Android Seminar 2 nd  class

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

종류 Linear Layout

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

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

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

표형태로 배치

Page 29: LifecareScienceLAB Android Seminar 2 nd  class

아주대학교

SOFTWARE DEVELOP-MENT

• Software Design

Page 30: LifecareScienceLAB Android Seminar 2 nd  class

Design Tool State Diagram

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

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

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

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

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

Page 31: LifecareScienceLAB Android Seminar 2 nd  class

State Diagram

Not Playing,At the begin-

ning

Playing

Paused

Play

Play

Play

PauseStop

Stop

Pause

PauseStop

Page 32: LifecareScienceLAB Android Seminar 2 nd  class

Structure Chart

main

process

Input

ouput

sub process 2

sub process 1

sub process 3

print

Page 33: LifecareScienceLAB Android Seminar 2 nd  class

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

Page 34: LifecareScienceLAB Android Seminar 2 nd  class

Class DiagramClass

ExplainBuilder

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

Director

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

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

HTMLBuilder

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

Main

동작 테스트용 클래스

Builder

makeTitlemakeStringmakeItemsclose

TextBuilder

buffer

makeTitlemakeStringmakeItemsclosegetResult

makeTitlemakeStringmakeItemsclosegetResult

HTMLBuilder

Director

builderconstruct

filenamewriter

Uses▲

MainUses▶

Uses▲

Page 35: LifecareScienceLAB Android Seminar 2 nd  class

Sequence Diagram:Client :Server :Device

work open

print

close

write