한국어

Programming

twin 주소복사
조회 수 171 추천 수 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
번호 제목 글쓴이 날짜 조회 수
50 MIT App Inventor 2 소개  twin 2017.03.26 6543
49 지도에 내 위치 표시하기  twin 2018.09.14 1240
48 앱인벤터 에뮬레이터 다운 설치  twin 2017.03.26 674
47 [앱 인벤터2] 위치센서와 문자 보내기, SOS 앱  twin 2018.08.27 604
46 [앱인벤터2] 두 개의 스크린 사이의 값 전달, 구구단 예제  twin 2018.08.27 589
45 [앱인벤터2] Slider를 사용하는 타이머  twin 2018.08.27 562
44 [앱 인벤터2] 알람시계  twin 2018.08.27 561
43 [앱 인벤터2] 두더지 잡기 게임2  twin 2018.09.14 491
42 [앱인벤터2] PasswordTextBox와 TinyDB를 사용한 PIN 번호 체크  twin 2018.08.27 458
41 [앱인벤터] 예제 - 두더지 게임  twin 2018.09.11 402
40 [앱인벤터] 위치센서 LocationSensor를 이용한 거리측정기  twin 2018.08.27 350
39 [앱인벤터2] 아날로그 시계 만들기  twin 2018.08.27 316
38 [앱인벤터] 리스트를 이용하여 녹음이 되는 실로폰  twin 2018.08.27 315
37 [앱 인벤터2] 우주선게임  twin 2018.08.30 282
36 Korea SW 자료  twin 2017.10.30 266
35 [앱인벤터2] Clock 센서, 디지털 시계  twin 2018.08.27 247
34 앱인벤터2 강좌 : 숫자 암기 게임  twin 2018.10.12 238
33 과제알림장 앱 만들기  twin 2018.10.12 213
32 앱인벤터 아두이노 교재  3 twins 2017.03.18 207
31 [앱 인벤터2] 간단한 계산기  twin 2018.08.30 204
Board Pagination Prev 1 2 3 Next
/ 3