한국어

Programming

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

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

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

다행히 앱인벤터에는 확장기능(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
번호 제목 글쓴이 날짜 조회 수
51 2020 게임제작과 직업교육 실습 자료  twin 2020.12.07 290
50 Korea SW 자료  twin 2017.10.30 1749
49 MIT App Inventor 2 소개  twin 2017.03.26 33848
48 [앱 인벤터2] 간단한 계산기  twin 2018.08.30 3013
47 [앱 인벤터2] 두더지 잡기 게임2  twin 2018.09.14 2620
46 [앱 인벤터2] 우주선게임  twin 2018.08.30 2700
45 [앱 인벤터2] 공튀기기  1 twin 2018.08.30 2422
44 [앱 인벤터2] 알람시계  twin 2018.08.27 3267
43 [앱 인벤터2] 위치센서와 문자 보내기, SOS 앱  twin 2018.08.27 2555
42 [앱 인벤터] 캔버스와 이미지 스프라이트, 두더지잡기 게임(Molemash)  twin 2018.08.27 2655
41 [앱인벤터2 강좌] 가위 바위 보 앱  twin 2019.09.18 2966
40 [앱인벤터2 강좌] 나침반과 센서  twin 2018.08.27 842
39 [앱인벤터2 강좌] 만보기앱, Pedometer 센서  twin 2018.08.27 1466
38 [앱인벤터2 강좌] 폭탄 돌리기  twin 2019.09.17 1496
37 [앱인벤터2] BMI 계산기  twin 2018.08.27 1352
36 [앱인벤터2] Clock 센서, 디지털 시계  twin 2018.08.27 3723
» [앱인벤터2] Extension(확장기능)을 사용한 깜박이는 플래시라이트  twin 2018.08.27 2130
34 [앱인벤터2] PasswordTextBox와 TinyDB를 사용한 PIN 번호 체크  twin 2018.08.27 3036
33 [앱인벤터2] Slider를 사용하는 타이머  twin 2018.08.27 2186
32 [앱인벤터2] 두 개의 스크린 사이의 값 전달, 구구단 예제  twin 2018.08.27 4210
Board Pagination Prev 1 2 3 Next
/ 3