본문 바로가기
앱인벤터/앱인벤터 컴포넌트

앱인벤터 클라우드DB 컴포넌트

by flycoding 2022. 6. 3.
반응형

앱인벤터 클라우드DB 컴포넌트

 

앱인벤터의 컴포넌트들을 이해와 실제 예제를 통해 실습을 통해 모바일 앱 개발에 활용도를 높이고자 한다

앱인벤터 클라우드DB 컴포넌트는 보이지 않는 컴포넌트이며,  인터넷이 연결된 데이터베이스 서버에 데이터를 저장 서비스를 제공하는 컴포넌트이다. 기본적으로 데이터는 MIT에서 유지보수되는 서버에 저장된다. 그러나 개발자들은 자신만의 서버를 소유하고 설치할 수 있다. 이를 위해서는 RedisServer 속성값과 RedisPort 속성값을 설정하면 자신만의 서버에 접근할 수 있다.

 

클라우드DB 컴포넌트

팔레트의 소셜 부분에서 클라우드DB 컴포넌트는 보이지 않는 컴포넌트로, 뷰어에 drag&drop하면 화면에는 아무것도 표시되지 않는다. 본문에서 클라우드DB를 활용한 chat 앱을 간단하게 작성해 볼 예정이다.

 

팔레트

클라우드DB 컴포넌트는 '저장소'에 있다. 클라우드DB 컴포넌트를 오른쪽 뷰어에 Drag&Drop하면 추가된다.

 

뷰어

컴포넌트들을 추가했을 때, 기본적으로 사각형이 뷰어 화면에 출력된다.

뷰어에는 보이는 않는 컴포넌트로 클라우드DB 컴포넌트 1과 연락처선택 컴포넌트 와 레이블 2개 및 수평배치 컴포넌트 1개로 구성되어 있다.

 

컴포넌트

 

클라우드DB 컴포넌트를 활용한 Chat 앱에서 활용되는 컴포넌트는 아래와 같다. 

- 클라우드DB 컴포넌트

- 레이블 컴포넌트 : "이름을 입력하세요" 표시

- 수평배치 컴포넌트

- 텍스트박스 컴포넌트

- 버튼 컴포넌트

- 리스트뷰 컴포넌트

 

앱인벤터 클라우드DB 컴포넌트를 활용한 채팅앱 예제

 

 

클라우드DB 컴포넌트 속성값

클라우드DB 컴포넌트 속성값에는 프로젝트ID, 레디스포트, 레디스서버, 토코, SSL사용 속성값이 있다. 

프로젝트ID 속성값은 클라우드DB 프로젝트의 ProjectID값이다.

레디스포트 속성값은 사용할 Redis 서버 포트를 정의한다. 기본값은 6381이다.

레디스서버 속성값은 데이터를 저장할 서버를 지정한다. 기본값은 'DEFAULT'이며 이는 MIT 서버를 사용할 것을 의미한다.

토큰 속성값은  레디스서버에 로그인하는데 사용되는 인증 토큰값이다. 'DEFAULT' 서버를 사용하는 경우에는 앱인벤터에서 제공하는 값을 수정하지 않는다. 시스템 관리자는 많은 사용자들이 많은 프로젝트간에 데이터를 공유하기 위해 특별한 값을 제공할 수 있다. 만약 개발자 자신의 레디스서버를 사용하려면, 서버의 환경값 안에 비밀번호를 설정해야 한다.

SSL사용 속성값은 사용자가 클라우드DB인 레디스서버와 연결을 SSL로 설정할지 여부를 설정한다. 기본값은 참값이다.

 

앱인벤터 클라우드DB 컴포넌트 속성값

 

클라우드DB 컴포넌트 이벤트 블럭들

클라우드DB 컴포넌트 이벤트 블럭은 클라우드DB에오류가발생했을때, DataChanged, 첫번째값이삭제됐을때, 값을받았을때, 태그리스트를받았을, UpdateDone 이벤트 블럭 등이 있다.

 

. 클라우드DB 컴포넌트 클라우드DB에오류가발생했을때 블럭

클라우드DB 레디스 서버와 통신하는 도중에 오류가 발생했을 때 호출되는 이벤트 블럭이다. 인자값으로 '메시지'가 전달된다.

 

앱인벤터 클라우드DB 컴포넌트 클라우드DB에오류가발생했을때 블럭

 

. 클라우드DB 컴포넌트 DataChanged 블럭

클라우드DB 프로젝트 안에 데이터가 변경이 되었을 때 호출되는 이벤트 블럭이다. '태그'와 수정된 태그와 '값'을 이벤트와 함께 호출된다.

 

앱인벤터 클라우드DB 컴포넌트 DataChanged 블럭

 

. 클라우드DB 컴포넌트 첫번째값이삭제됐을때 블럭

첫번째값이 삭제되었을때 호출되는 이벤트 블럭이다. 인자값으로는 삭제된 이후, 리스트의 첫번째 '값'이 전달된다.

 

앱인벤터 클라우드DB 컴포넌트 첫번째값이삭제됐을때 블럭

 

. 클라우드DB 컴포넌트 값을받았을때 블럭

값가져오기(GetValue) 호출 블럭의 요청이 성공적으로 실행이 되었을 때 호출되는 블럭이다.

 

앱인벤터 클라우드DB 컴포넌트 값을받았을때 블럭

 

. 클라우드DB 컴포넌트 태그리스트를받았을 블럭

알려진 태그의 리스트를 받았을 때 호출되는 이벤트 블럭이다. '태그리스트받았을' 이벤트 블럭은 태그리스트가져오기(GetTagList) 호출 블럭에 대한 응답으로 실행이 된다.

 

앱인벤터 클라우드DB 컴포넌트 태그리스트를받았을 블럭

 

 

. 클라우드DB 컴포넌트 UpdateDone 블럭

저장 데이터가 클라우드DB에 저장이 완료되면 수행되는 이벤트 블럭이다.

 

앱인벤터 클라우드DB 컴포넌트 UpdateDone 블럭

 

클라우드DB 컴포넌트 호출 블럭들

클라우드DB 컴포넌트에 호출 블럭은 값추가하기, 태그지우기, 클라우드연결여부가져오기, 태그리스트가져오기, 값가져오기, 첫번째항목삭제하기, 값저장하기 호출 블럭이 있다.

 

. 클라우드DB 컴포넌트 값추가하기 블럭

자동으로 리스트의 끝에 값을 추가한다. 만일 두개의 스마트폰에서 동시에 '값추가하기' 블럭을 사용한다면, 두개의 값이 추가되고 데이터 손실은 없다.

 

앱인벤터 클라우드DB 컴포넌트 값추가하기 블럭

 

. 클라우드DB 컴포넌트 태그지우기 블럭

클라우드DB로부터 태그를 삭제한다.

앱인벤터 클라우드DB 컴포넌트 태그지우기 블럭

 

. 클라우드DB 컴포넌트 클라우드연결여부가져오기 블럭

만일 클라우드DB 서버에 네트워크에 연결이 되었다면 참값을 반환할 것이다.

앱인벤터 클라우드DB 컴포넌트 클라우드연결여부가져오기 블럭

 

. 클라우드DB 컴포넌트 태그리스트가져오기 블럭

클라우드DB에 이 프로젝트가 포함하고 있는 모든 태그들을 조회해서 가져올 것이다. 결과 리스트는 '태그가져오기' 이벤트 안에 반환된다.

 

앱인벤터 클라우드DB 컴포넌트 태그리스트가져오기 블럭

 

. 클라우드DB 컴포넌트 값가져오기 블럭

클라우드DB에 주어진 태그를 가지고 저장된 값들을 가져오는 블럭이다. '값을받았을때' 이벤트 블럭에서 인자값으로 값이 전달된다.

 

앱인벤터 클라우드DB 컴포넌트 값가져오기 블럭

 

. 클라우드DB 컴포넌트 첫번째항목삭제하기 블럭

리스트의 첫번째 항목이 자동적으로 삭제된다. 만일 두개의 스마트폰 등에서 동시에 이 함수를 사용할 경우, 하나는 첫번째 리스트의 요소를 얻을 것이다. 또다른 스마트폰 기기는 두번째 리스트 요소값을 얻게 될 것이다. 만일 가용값이 없다면 오류를 발생시킬 것이다. 요소값이 있다면, '첫번째값이삭제됐을때' 이벤트 블럭이 호출된다.

 

앱인벤터 클라우드DB 컴포넌트 첫번째항목삭제하기 블럭

 

. 클라우드DB 컴포넌트 값저장하기 블럭

클라우드DB에 주어진 태그와 저장할 값을 저장을 요청하는 블럭이다.

 

앱인벤터 클라우드DB 컴포넌트 값저장하기 블럭

 

클라우드DB 컴포넌트 가져오기/지정하기 블럭들

클라우드DB 컴포넌트 중 가져오기/지정하기 블럭은 프로젝트ID, 레디스포트, 레디스서버 등의 블럭이 있다. 

 

. 클라우드DB 컴포넌트 프로젝트ID 블럭

클라우드DB에서 생성한 프로젝트ID 값을 가져오는 블럭이다. 

 

앱인벤터 클라우드DB 프로젝트ID 블럭

 

. 클라우드DB 컴포넌트 레디스포트 블럭

클라우드DB에서 레디스서버의 포트를 가져오는 블럭이다.

 

앱인벤터 클라우드DB 컴포넌트 레디스포트 블럭

 

 

. 클라우드DB 컴포넌트 레디스서버 블럭

데이터를 저장하기 위해 사용하는 레디스 서버를 가져오는 블럭이다. 기본값은 "DEFAULT"인데, 이는 MIT 서버를 사용함을 의미한다.

 

앱인벤터 클라우드DB 컴포넌트 레디스서버 블럭

 

 

이상으로 앱인벤터 클라우드DB 컴포넌트 블럭에 대해 간략히 살펴보았다. 좀더 자세히 확인하기 싶으면, 클라우드DB를 활용한 채팅 앱을 통해 블럭들을 하나씩 사용해보면서 블럭의 활용 용도 등을 파악하면 좋을 것 같다. 눈으로 보는 것보다 직접 해보는게 여러모로 코딩하는데 이해하고 코딩 실력이 향상되는데 도움이 된다.

 

Just Do it!!!

Just Drag&Drop!!!

 

MagneticFieldSenso

 

 

반응형

댓글