소개글
"스마트폰 앱의 논리적 이해"에 대한 내용입니다.
목차
1. 앱인벤터와 컴포넌트 동작 프로그래밍
1.1. 컴포넌트 간의 계층구조
1.2. 레이아웃 컴포넌트
1.3. 컴포넌트 동작 프로그래밍
1.4. 컴포넌트 관련 블록의 종류
2. 빅데이터 기반 AI 음성인식 기술
2.1. 빅데이터의 개념과 특징
2.2. 빅데이터 기반 인공지능
2.3. 빅데이터 활용 사례 - 애플의 Siri
2.4. 음성인식 기술의 발전과 과제
3. 사칙연산 계산기 앱 개선
3.1. 텍스트박스 정렬 변경
3.2. 버튼 통합 및 기능 변경
3.3. 입력값 출력 기능 추가
3.4. 삭제 버튼 추가 및 기능 구현
4. "과일의 영어 이름 들려주기" 앱 개선
4.1. 과일 영어 이름 표시 기능 추가
4.2. Sound 컴포넌트 사용 축소
5. 참고 문헌
본문내용
1. 앱인벤터와 컴포넌트 동작 프로그래밍
1.1. 컴포넌트 간의 계층구조
앱인벤터에서 디자이너 모드에서 [Screen] 내에 배치된 컴포넌트들 간의 관계를 의미하며, 이를 "컴포넌트 간의 계층구조"라고 부른다. 바깥쪽에 위치한 컴포넌트가 부모 컴포넌트(상위 컴포넌트)가 되며, 안쪽에 위치하고 있는 컴포넌트가 자식 컴포넌트(하위 컴포넌트)가 된다. 즉, 컴포넌트들 간에는 상하 관계가 존재하며, 이러한 관계를 계층구조로 표현한다. 이를 통해 컴포넌트들 간의 포함 및 종속 관계를 쉽게 파악할 수 있다. 예를 들어, 화면(Screen1) 위에 Button1이 배치되고, 그 내부에 Label1이 포함되어 있다면 Screen1이 부모 컴포넌트, Button1이 자식 컴포넌트, Label1이 또 다른 자식 컴포넌트가 된다. 이처럼 컴포넌트 간의 계층적 구조를 이해하는 것은 앱 개발 시 컴포넌트 설계와 프로그래밍에 있어 매우 중요하다.
1.2. 레이아웃 컴포넌트
레이아웃 컴포넌트는 앱인벤터에서 디자이너 모드에 배치되어 컴포넌트들의 배치와 정렬을 담당하는 역할을 한다. 이는 컴포넌트들을 수평 또는 수직으로 배치하거나 표 내에 정렬하여 화면 구성을 설계하는데 사용된다.
레이아웃 컴포넌트에는 Table 컴포넌트, HorizontalArrangement 컴포넌트, VerticalArrangement 컴포넌트 등이 포함되어 있다. Table 컴포넌트는 행과 열로 구성된 표 형태의 레이아웃을 만들 수 있으며, HorizontalArrangement와 VerticalArrangement 컴포넌트는 각각 수평과 수직 정렬을 위해 사용된다.
이러한 레이아웃 컴포넌트들은 화면 구성 시 필수적인 요소로, 컴포넌트들 간의 관계와 위치를 정의하여 사용자에게 가독성 있고 효과적인 인터페이스를 제공할 수 있다. 예를 들어 텍스트박스와 버튼을 수평으로 나란히 배치하거나 여러 개의 컴포넌트를 세로로 정렬하여 깔끔한 화면 구성을 만들 수 있다.
또한 레이아웃 컴포넌트에는 각 컴포넌트의 크기와 정렬 방식, 간격 등의 속성을 설정할 수 있어 사용자의 요구사항에 맞춰 유연하게 화면을 구성할 수 있다. 이를 통해 단순히 컴포넌트를 배치하는 것을 넘어 전체 화면의 레이아웃을 체계적으로 설계하고 관리할 수 있게 된다.
종합적으로 레이아웃 컴포넌트는 앱 개발 시 필수적인 요소로, 화면 구성의 기초가 되며 사용자에게 직관적이고 정돈된 인터페이스를 제공하는데 핵심적인 역할을 한다고 볼 수 있다.
1.3. 컴포넌트 동작 프로그래밍
컴포넌트 동작 프로그래밍이란 앱인벤터 디자이너 모드에서 구성된 컴포넌트들의 동작을 블록 편집기를 통해 프로그래밍하는 것을 말한다.
컴포넌트는 사용자가 앱 화면에서 조작하거나 반응하는 대상으로, 디자이너 모드에서 화면에 배치하여 구성한다. 컴포넌트 구성 시 화면상에서의 위치, 크기, 모양, 색상 등의 속성을 설정할 수 있다. 이렇게 구성된 컴포넌트들은 서로 계층구조를 형성하게 되는데, 화면 바깥쪽에 위치한 컴포넌트가 부모 컴포넌트가 되고 내부에 위치한 컴포넌트들이 자식 컴포넌트가 된다. 이러한 계층구조는 컴포넌트들의 동작을 프로그래밍할 때 중요한 역할을 한다.
컴포넌트의 동작을 프로그래밍하기 위해서는 블록 편집기를 사용한다. 블록 편집기에는 컴포넌트와 관련된 다양한 종류의 블록들이 제공되는데, 이를 활용하여 각 컴포넌트의 동작을 정의할 수 있다. 예를 들어 버튼 컴포넌트에는 "버튼이 클릭되었을 때"와 같은 이벤트 블록이 제공되며, 이에 대한 동작을 추가로 프로그래밍할 수 있다.
컴포넌트 관련 블록에는 주황색, 옅은 초록색, 진한 초록색, 보라색 등 다양한 색상으로 구분되어 있는데, 각 색상은 블록의 기능을 나타낸다. 주황색 블록은 이벤트 처리 블록으로 특정 이벤트가 발생했을 때 수행할 동작을 정의한다. 옅은 초록색 블록은 현재 컴포넌트의 속성값을 읽어오는 데 사용되며, 진한 초록색 블록은 컴포넌트의 속성값을 변경하는 데 사용된다. 보라색 블록은 프로시저 블록으로 미리 정의된 기능을 호출할 때 사용된다.
컴포넌트 동작 프로그래밍 시 주요하게 사용되는 블록들은 다음과 같다. "when [component] [event]"와 같은 주황색 이벤트 블록을 통해 특정 이벤트가 발생했을 때의 동작을 정의할 수 있다. 또한 "get [property] of [component]"와 같은 옅은 초록색 블록으로 컴포넌트의 속성값을 읽어올 수 있으며, "set [property] of [component] to [value]"와 같은 진한 초록색 블록으로 속성값을 변경할 수 있다. 마지막으로 보라색 프로시저 블록을 통해 미리 정의된 기능을 호출할 수 있다.
이렇게 다양한 블록들을 활용하여 컴포넌트의 동작을 프로그래밍함으로써 사용자 인터페이스와 상호작용이 가능한 앱을 개발할 수 있다. 이를 통해 사용자에게 보다 풍부하고 편리한 경험을 제공할 수 있다.
1.4. 컴포넌트 관련 블록의 종류
앱인벤터 환경에서 컴포넌트 동작 프로그래밍을 위해서는 다양한 종류의 블록들이 제공...
참고 자료
강장묵, “음성인식 기반의 인공지능 서비스 동향 연구 동향”, 2016
김근태, “빅데이터 분석을 위한 기업의 Big Analytics 환경 변화”, 2012
김학용, “음성인식 기반 홈IoT 제품서비스 동향 및 시사점”, 스마트홈산업협회, 2016
나승훈, 정호영, 양성일, 김창현, 김영길, “빅데이터 기반 음성언어 처리 기술”, 한국전자통신연구원, 2013
배동민, 박현수, 오기환, “빅데이터 동향 및 정책 시사점”, KT경제연구소, 2013
이혜민, 김승인, “음성인식 기반의 모바일 지능형 개인비서 서비스 사용성 비교 - Samsung S 보이스와 Apple 시리를 중심으로”, 홍익대학원, 2013
황해정, “빅데이터 분석을 활용한 사용자 경험 평가 방법론 탐색 : 아마존 에코에 대한 온라인리뷰 분석을 중심으로”, 한국콘텐츠학회논문지, 2016
스마트과학관, “사물인터넷 / 국립중앙회관 ‘음성인식 기술”, 2016
이규섭, “인공지능 기반 음성인식 서비스”, KT경제경영연구소 2016
최대선, 김석현, 조진만, 진승현 “빅데이터 개인정보 위험 분석 기술” ,한국정보보호학회 2013
최재호, 김훈태 “스마트폰 음성 인터페이스의 사용 현황 및 사용자 인식에 대한 조사 연구”, 2016