한국어

Programming

twin 주소복사
조회 수 2130 추천 수 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
번호 제목 글쓴이 날짜 조회 수
31 [앱 인벤터2] 공튀기기  1 twin 2018.08.30 2422
30 앱인벤터2 강좌 : 숫자 암기 게임  twin 2018.10.12 2286
29 [앱인벤터2] Slider를 사용하는 타이머  twin 2018.08.27 2186
» [앱인벤터2] Extension(확장기능)을 사용한 깜박이는 플래시라이트  twin 2018.08.27 2130
27 문자메시지 보내기  twin 2018.10.12 1794
26 Korea SW 자료  twin 2017.10.30 1749
25 앱인벤터2 강좌: fingerFind5 게임  twin 2018.10.12 1737
24 앱인벤터 에뮬레이터 다운 설치  twin 2017.03.26 1663
23 [앱인벤터] ActivityStarter 액티비티 스타터를 사용한 여행앱  twin 2018.08.27 1650
22 앱인벤터 아두이노 교재  3 twins 2017.03.18 1643
21 메모장 앱 만들기  twin 2018.10.12 1633
20 색상 팔렛트 만들기  twin 2018.09.14 1535
19 [앱인벤터2] 말하는 Hello World 앱  twin 2018.08.27 1524
18 [앱인벤터2 강좌] 폭탄 돌리기  twin 2019.09.17 1496
17 [앱인벤터2 강좌] 만보기앱, Pedometer 센서  twin 2018.08.27 1466
16 [앱인벤터] App Inventor 2 Tips  twin 2018.08.27 1352
15 [앱인벤터2] BMI 계산기  twin 2018.08.27 1352
14 [앱인벤터] 카메라와 캔버스, PaintPot 앱  twin 2018.08.27 1322
13 [앱인벤터2] 캔버스와 이미지스프라이트, Bouncing Ball 예제  twin 2018.08.27 1122
12 [앱인벤터]Player(플레이어)를 이용한 I have a dream 앱  twin 2018.08.27 1095
Board Pagination Prev 1 2 3 Next
/ 3