슬라이드 1 One M2M Application Android Sample User Guide V2.5

oneM2M-Application-AndroidSample_User_Guide_v2.5

oneM2M-Application-AndroidSample_User_Guide_v2.5

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 81

Download슬라이드 1 One M2M-Application-Android Sample User Guide V2.5
Open PDF In BrowserView PDF
[IoT 오픈소스 플랫폼 이론 및 실전]

Open IoT Platform: Mobius, &Cube

- Mobius 기반 사물인터넷 응용서비스 개발 방법 -

전자부품연구원
박동하 책임
(araha@keti.re.kr)

[IoT 오픈소스 플랫폼 이론 및 실전]

Open IoT Platform: Mobius, &Cube
Agenda

1

Android 소개

……………….. 2

2

Android Studio 개발 환경 구성

……………….. 29

3

Web View App 실습

……………….. 43

4

개방형 IoT Platform 연동 App Review

……………….. 50

5

App Code Review

……………….. 57

6

Generate APK

……………….. 77

1

[IoT 오픈소스 플랫폼 이론 및 실전]

Open IoT Platform: Mobius, &Cube

1

Android 소개

2

Android Studio 개발 환경 구성

3

Web View App 실습

4

개방형 IoT Platform 연동 App Review

5

App Code Review

6

Generate APK

2

[IoT 오픈소스 플랫폼 이론 및 실전]

Open IoT Platform: Mobius, &Cube

1

Android 소개

Android 4대 컴포넌트
1.

Activity
 모든 화면이 있는 어플리케이션이라면 Activity가 존재하며 Activity가 존재해야만 화면 구성을 할 수 있음.

 화면 UI를 구성하는 View를 담을 수 있는 빈 테이블이라고 보면 됨.
2.

Service
 서비스는 백그라운드 서비스를 의미. (예: 카카오톡 알림)

3.

Broadcast Receiver

 Android OS 자체와 설치된 App에서 수많은 이벤트가 발생됨.
(Wifi 켜짐, 꺼짐 등 여러 이벤트를 받을 수 있는 역할 수행)
4.

Content Provider
 Android 데이터 공유 인터페이스.

 Android 시스템의 각종 설정 값, SD카드 내의 미디어 등에 접근 및 타 어플 접근.
(단 타 어플 접근시 해당 App에서 정의한 수준만 가능)

3

[IoT 오픈소스 플랫폼 이론 및 실전]

Open IoT Platform: Mobius, &Cube

1

Android 소개

View



Activity만으로 화면을 보여줄 수 없음



View가 실질적인 화면임.



Java에는 최상위에는 Object Class가 있고 하위 View들로 파생됨.



안드로이드는 계층 구조로 구성되어 있음.
(예: Button은 Text가 표시될 수 있으므로 TextView를 상속받고 있다.
즉 Button의 Text관련 기능은 TextView를 상속받아서 구현한다고 보면 됨)

4

[IoT 오픈소스 플랫폼 이론 및 실전]

Open IoT Platform: Mobius, &Cube

1

Android 소개

ViewGroup



Activity가 이 모든 것들을 얻을 수 있는 빈 테이블이라면
ViewGroup 은 일부분의 View들을 담는 그릇.



ViewGroup을 Layout이라고 부름.



ViewGroup은 또 다른 ViewGroup을 담을 수 있음.



ViewGroup안에 여러 ViewGroup을 이중, 삼중으로 ViewGroup을 포함할 수 있음.

5

[IoT 오픈소스 플랫폼 이론 및 실전]

Open IoT Platform: Mobius, &Cube

1

Android 소개

Linear Layout(리니어 레이아웃)


Linear Layout은 Child View를 일렬로 배치하는 Layout.



안에 배치되는 View는 Child View가 됨.



Layout중에 Relative Layout과 함께 가장 많이 사용하는 레이아웃.



Linear Layout의 핵심 속성은 orientation.
속성명

값
fill_parent,
match_parent

layout_width,
layout_height
wrap_content

vertical

fill_parent와 match_parent는 현재 뷰의 크기를 부모의 크기와 맞춘다는 뜻.
fill_parent는 안드로이드에서 권장하지 않음.
따라서 match_parent를 사용하면 됨.
wrap_content는 내부 요소에 따라서 크기를 조절함.
Child View를 위에서 아래로 배치

orientation

horizontal
center
gravity

Child View를 정 중앙에 배치

center_horizontal Child View를 수평 중앙배치
center_vertical

layout_weight

Child View를 왼쪽에서 오른쪽으로 배치

number

Child View를 수직 중앙배치
화면을 비율로 나눔

6

[IoT 오픈소스 플랫폼 이론 및 실전]

Open IoT Platform: Mobius, &Cube

1

Android 소개

Linear Layout(리니어 레이아웃)
최상위 xmlns:android="http://schemas.android.com/apk/res/android"는

해당 View Group에서 android: 와 같은 android 속성을 사용하겠다고 정의한 스키마.
1. LinearLayout으로 전체 선언.
2. android:orientation="vertical" 로 하위 Child View를 수직배치.
3. LinearLayout에 LinearLayout 두개를 수직배치.
4. LinearLayout 의 Child View를 수평배치.
5. 두번째 LinearLayout 의 Child View 수직배치.

7

[IoT 오픈소스 플랫폼 이론 및 실전]

Open IoT Platform: Mobius, &Cube

1

Android 소개

Relative Layout(렐러티브 레이아웃)


LinearLayout 과 더불어 가장 많이 사용하는 Layout.



LinearLayout 으로 구현할 수도 있지만 Relative Layout을 이용하면 더욱 쉽게 구현 가능함.



아래와 같이 양쪽에 버튼이 있고 가운데 TextView가 있는 형태에서 양쪽의 버튼은 고정사이즈이면
가운데 Text View는 유동적으로 너비를 줄 경우 필요함.
(이유? : 다양한 사이즈의 Android 환경이 있기에 이런 식으로 Layout을 배치해야 깔끔한 UI를 볼 수 있기 때문임)

8

[IoT 오픈소스 플랫폼 이론 및 실전]

Open IoT Platform: Mobius, &Cube

1

Android 소개

Relative Layout(렐러티브 레이아웃)
[Relative Layout에서 사전 고려 사항]

보통 Layout은 코드상 먼저 작성한 View가 먼저 배치된다. 하지만 Relative Layout은 상대적인 배치를 하기 때문에 순서가 중요함.

View의 입장에서 검은색 배경이 부모 레이아웃인 Relative Layout 임.
1. 버튼 1을 부모의 왼쪽에 배치
2. 버튼 2를 부모의 오른쪽에 배치
3. Text View를 버튼1의 왼쪽과 버튼2의 오른쪽 부모의 중앙에 배치

이런 순서로 선언해야 하는 이유는?
xml은 순서대로 코드를 파싱되기 때문에
2번과 3번의 순서를 변경하면 Text View를 정렬할 때 버튼2를 찾을 수 없다고 오류가 발생함.

9

[IoT 오픈소스 플랫폼 이론 및 실전]

Open IoT Platform: Mobius, &Cube

1

Android 소개

Relative Layout(렐러티브 레이아웃)
버튼 두개에 각각 아이디를 주고 각각 부모의 왼쪽과 오른쪽에 배치.
각 속성은 layout_alignParentLeft와 layout_alignParentRight.
Text View는 버튼1의 오른쪽 버튼2의 왼쪽에 배치.



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 81
Language                        : ko-KR
Tagged PDF                      : Yes
Title                           : 슬라이드 1
Author                          : kim-juyeon
Create Date                     : 2018:05:11 17:13:08+09:00
Modify Date                     : 2018:05:11 17:13:08+09:00
Producer                        : Microsoft® PowerPoint® 2016
Creator                         : Microsoft® PowerPoint® 2016
EXIF Metadata provided by EXIF.tools

Navigation menu