lifecaresciencelab android seminar 2 nd class
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 PresentationTRANSCRIPT
![Page 1: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/1.jpg)
아주대학교
LifecareScienceLABAndroid Seminar 2nd class
• Android• Software Development
2011/04/13 – p.m. 06:00 – 팔달관 409 호
아주대학교
![Page 2: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/2.jpg)
Review My First Android Application
Hello World 프로젝트 생성 방법 학습Simulator 실행
![Page 3: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/3.jpg)
My First Android Applica-tion
![Page 4: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/4.jpg)
My First Android Applica-tion
![Page 5: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/5.jpg)
My First Android Applica-tion
![Page 6: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/6.jpg)
![Page 7: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/7.jpg)
![Page 8: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/8.jpg)
![Page 9: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/9.jpg)
Contents List
Android• User Interface• Widget
• TextView, Button, EditText• Layout
Software Development• Software Design
![Page 10: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/10.jpg)
아주대학교
ANDROID
• User Interface• Widget
TextView, Button, EditText• Layout
![Page 11: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/14.jpg)
User Interface Activity
안드로이드에서의 과제 /작업의 단위 Widget과 Layout을 제어한다 .
android.app.Activity Class 응용프로그램의 각 화면마다 Activity를 정의하고 구현하는 데 많은 시간을 들이게 된다 .
Example 시동 /스플래시 화면 주 메뉴 화면 게임 플레이 화면 고득점 화면 도음말 /프로그램 정보 화면
시동 / 스플래시 Activity
주 메뉴Activity
도움말 / 프로그램 정보Activity
게임플레이Activity
고득점Activity
![Page 15: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/16.jpg)
Widget
android.widget 패키지 TextView
화면에 문자를 출력 Button
사용자의 선택 입력 EditText
문자 입력
ViewView Object
안드로이드 플랫폼 상의 사용자 인터페이스를 표현하는 기본단위
SubClass : Widget
Button, TextField, etc…
![Page 17: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/18.jpg)
![Page 19: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/19.jpg)
![Page 20: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/20.jpg)
![Page 21: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/21.jpg)
Widget Widget 사용하기 2
Activity 에서 생성 후 Layout 에 표시한다 .1. Activity 에서 TextView 생성
new 메서드 사용2. TextView 객체를 ContentView 로 생성
setContentView 메서드 사용
![Page 22: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/22.jpg)
![Page 23: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/24.jpg)
Widget TextView, But-
ton, EditText 를 이용하여 버튼을 누르면 편집한 문자열이 출력되는 예제main.xml→
![Page 25: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/25.jpg)
Widget↓ Activity Class
![Page 26: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/26.jpg)
Widget Properties
![Page 27: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/28.jpg)
Layout웹 디자이너들이 HTML 을 사용하는 것과 비슷하게 , 안드로이드 응용프로그램의 사용자 인터페이스 디자이너는 XML 을 이용한다 .
종류 Linear Layout
View 들을 차곡차곡 쌓는 배치 ( 가장 많이 사용 ) Relative Layout
부모와 자식 , 자식과 자식간의 상대적인 배치 Frame Layout
좌상단에 겹쳐서 쌓는 배치 Table Layout
표형태로 배치
![Page 29: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/29.jpg)
아주대학교
SOFTWARE DEVELOP-MENT
• Software Design
![Page 30: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/30.jpg)
Design Tool State Diagram
프로그램의 상태를 정의한 상태간의 흐름도 Structure Chart
기능 중심의 함수 구조도 Flow Chart
데이터 흐름 중심의 함수 흐름도 UML :: Class Diagram
객체 중심의 클래스 구조도 UML :: Sequence Diagram
순차 중심의 객체와 함수의 흐름도
![Page 31: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/32.jpg)
Structure Chart
main
process
Input
ouput
sub process 2
sub process 1
sub process 3
![Page 33: LifecareScienceLAB Android Seminar 2 nd class](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062315/56816304550346895dd37f4e/html5/thumbnails/35.jpg)
Sequence Diagram:Client :Server :Device
work open
close
write