한국어

Programming

twin 주소복사
조회 수 98 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

앱인벤터는 매우 편하고 강력하지만 가끔 제공하지 않는 기능이 있습니다. 예를 들어  스마트폰에서 플래시를 켜고 끄는 기능은 제공하지 않습니다. 

다행히 앱인벤터에는 확장기능(Extension)이 있습니다. 이 기능을 사용하면 누구나 Java로 앱인벤터에서 사용할 수 있는 컴포넌트를 만들 수 있고 이 컴포넌트를 마치 라이브러리처럼 다운받아 설치하면 앱인벤터에서 사용할 수 있습니다. 컴포넌트를 만드는 것은 Github에 있는 앱인벤터 소스코드를 분석하고 Java로 프로그램을 해야하기 때문에 쉽지는 않겠지요? 저도 직접 Extension을 만들어 본 적은 없습니다.

오늘은 플래시를 켜고 끄는 확장기능을 사용해서 플래시를 깜빡이는 앱을 만들어 보겠습니다. 이 기능은 예를 들어 등산을 하다가 깜깜한 밤에 길을 잃었을 때 내 위치를 알리는 용도로 사용할 수 있겠지요?

Flashlight Extension을 검색하여 앱사이트에 접속합니다. https://puravidaapps.com/flashlight.php

이 사이트에서 컴포넌트에 대한 내용을 확인하고 확장 컴포넌트를 다운로드합니다. 확장 컴포넌트의 확장자는 AIX 파일입니다.

<그림 1> TaifunFlashlight.aix 파일을 다운받습니다.

디자이너 창에서 왼쪽의 빨레트를 보면 맨 아래 Extension이 있습니다. Import Extension을 클릭하면 팝업창이 뜨고 여기서 다운받아 둔 Extension 파일을 선택합니다.

<그림 2> Extension에서 TaifunFlashlight 컴포넌트를 Import를 합니다.

이렇게 하면 Extension 빨레트에서 TaifunFlashlight가 보입니다, 이것을 디자인 창에 끌어다 놓으면 Nonvisible components 에서 삽입된 것을 확인할 수 있습니다. Components 창에도 보이게 됩니다. 참고로 Extension 컴포넌트는 Non-visible 만 가능합니다.

<그림 3> 디자인 창

위 그림처럼 디자인 창에는 버튼 하나, Clock 하나, 그리고 TaifunFlashlight가 하나 있습니다. 버튼을 누르면 플래시가 1초에 한번씩 깜박거리게 만들겠습니다.

이제 블록코딩을 하겠습니다.

TaifunFlashlight를 클릭하면 4개의 블록이 보입니다. 플래시를 끄고 켤 수 있고, 플래시를 가지고 있는지 확인할 수 있는 블록들이 있네요. 이것들을 사용해서 1초에 한번씩 플래시가 켜졌다 꺼졌다 하게 만들어 보겠습니다.
 

<그림 4> TaifunFlashlight 컴포넌트의 블록들

flag 라는 부울 변수를 하나 사용합니다. 처음에 flag는 false이고 Clock이 타이머 이벤트를 1초에 한번씩 만들때마다 flag == false 이면 플래시를 켜고나서 true로 만들어주고, flag == true 이면 플래시를 끄고 false로 만들어주면 됩니다.

<그림 5> 블록코딩

필요한 컴포넌트가 제공되지 않을 때 누군가 만들어 두었을지도 모르는 Extension를 찾아보는 것도 좋겠습니다. 의외로 많은 extension이 제공되고 있습니다. 이들을 사용하면 앱인벤터의 한계를 넘어설 수 있습니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
29 [앱인벤터]Player(플레이어)를 이용한 I have a dream 앱  twin 2018.08.27 40
28 [앱인벤터] Camera & Share, 사진찍고 메모해서 공유하기  twin 2018.08.27 54
27 [앱인벤터] 성적계산기  twin 2018.08.27 80
26 [앱인벤터] ActivityStarter 액티비티 스타터를 사용한 여행앱  twin 2018.08.27 62
25 [앱인벤터] 에뮬레이터, 녹스(nox) 앱플레이어 사용법  twin 2018.08.27 55
24 [앱인벤터] App Inventor 2 Tips  twin 2018.08.27 60
23 [앱인벤터] 내가 만든 앱을 구글 플레이스토어에 등록하는 방법  twin 2018.08.27 40
22 [앱인벤터] Sound를 이용한 실로폰 앱  twin 2018.08.27 47
21 [앱인벤터] 리스트를 이용하여 녹음이 되는 실로폰  twin 2018.08.27 221
20 [앱인벤터] 위치센서 LocationSensor를 이용한 거리측정기  twin 2018.08.27 210
19 [앱인벤터2] 말하는 Hello World 앱  twin 2018.08.27 38
18 [앱인벤터] ListPicker와 WebViewer를 이용한 내가 즐겨찾는 사이트 앱  twin 2018.08.27 81
17 [앱인벤터2] PasswordTextBox와 TinyDB를 사용한 PIN 번호 체크  twin 2018.08.27 301
» [앱인벤터2] Extension(확장기능)을 사용한 깜박이는 플래시라이트  twin 2018.08.27 98
15 [앱 인벤터2] 공튀기기  1 twin 2018.08.30 107
14 [앱 인벤터2] 간단한 계산기  twin 2018.08.30 114
13 [앱 인벤터2] 우주선게임  twin 2018.08.30 158
12 [앱인벤터] 예제 - 두더지 게임  twin 2018.09.11 201
11 [앱 인벤터2] 두더지 잡기 게임2  twin 2018.09.14 295
10 스톱워치 만들기  twin 2018.09.14 64
Board Pagination Prev 1 2 3 Next
/ 3