LifecareScienceLAB Android Seminar 2 nd class
description
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
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
close
write