본문 바로가기

앱만들기(앱인벤터2)

[앱 인벤터2] 기본 기능 익히기 9 (tinyDB) – DB에 정보 저장하기

앱을 만들게 되면 앱에 대한 데이터를 저장해야 합니다.

예를 들면 게임 앱을 만들었어요. 게임 점수를 기록해 두고 게임 등수를 기록하고 싶습니다.


앱을 다시 실행해도 기존의 정보를 저장해서 보고 싶습니다.


어떻게 있을까요?


인벤터에서는 TinyDB 이용하여 정보를 저장해 두고 다시 앱을 시작했을 ,

TinyDB를 이용하여 정보를 불러올 있습니다.

 

그럼 한번 배워볼까요?

 

TinyDB?


TinyDB는 말그대로 작은 DB입니다. 

앱 인벤터 환경에서 데이터를 저장하기 위한 작은 DB라 보면 될 것 같습니다.


TinyDB의 구성요소를 뷰어로 가져오면 보이지 않는 요소로 표시됩니다.


데이터를 저장할 , 태그(이름표) 사용하여 데이터를 저장하고

태그를 이용하여 데이터의 값을 불러올 있습니다.

 

하나의 앱에서 정보를 공유할  사용합니다. 다른 앱과 정보를 공유하는 것은 없습니다.

하나의 앱에서 여러 화면을 사용할 경우 정보를 공유하고 저장하고 읽어올 있습니다.

 

인벤터 2에서는 MIT AI Companion 사용하여 실제 화면을 단말에서 확인할 수 있습니다.


* MIT AI Companion 에서 앱의 TinyDB 태그 리스트를 보면 여러 앱을 테스트 하기 때문에 TinyDB의 여러 앱의 정보가 보여질 있습니다.

부분 때문에 개발을 하기 전에 TinyDB 초기화 를 하고 난 이후에 앱 만들기를 할 수 있습니다.


, 실제 단말에 설치되는 apk 파일 만들어 실행을 하게 되면 때는 앱별로 TinyDB 구분되게 됩니다.

 

TinyDB 블록 종류

 

영역

블록이름

설명

Screen1-TinyDB1

모두 지우기 : TinyDB1전체 데이터를 지웁니다.


태그 지우기 : 주어진 tag이름의 데이터 삭제

 

태그 리스트 가져오기 : TinyDB의 모든 태그 리스트를 가져오기


값 가져오기 : 태그를 이용하여 값을 가져오기

만약 찾는 값이 없을 경우는 아래 찾는 값이 없을 경우의 지정된 값을 가져옵니다.


값 저장 : 태그(이름표)와 함께 값을 저장합니다.

해당 데이터는 폰이 다시 시작되더라도 지워지지 않고 계속되는 데이터 입니다.


 

 

준비작업


. http://ai2.appinventor.mit.edu/ 접속하기

. 언어를 한국어로 설정한다.

. '새 프로젝트 시작' 선택 후, 프로젝트 이름 원하는 이름으로 작성하기. 영어로 작성해야 합니다.

 

 

학습내용


(1) TinyDB 저장하기

(2) 앱이 시작될 , TinyDB 모든 태그 리스트를 불러 오기

(3) TinyDB 선택된 사용자(태그명) 데이터 읽어 오기

 

(결과 화면)

 

 

 

실습하기

실습 단계

. 디자이너 화면에 구성요소를 추가합니다.

. 블록 편집 화면에서 블록을 맞춥니다.

. 스마트폰으로 확인해 보기

 

디자이너 화면

 

[구성요소 속성 및 설명]

 


 

번호

요소

속성 변경

 설명

레이블1

텍스트 : 사용자 정보

정보를 표시합니다.

레이블2

텍스트 : 취미 및 기타

 

텍스트 상자1

사용자 이름을 입력합니다.

텍스트 상자2

취미 및 기타 정보를 입력합니다.

사용자의 취미 및 기타 정보를 입력합니다.

버튼1

텍스트 : 데이터 추가

 데이터 추가 버튼을 누르면 TinyDB에 데이터가 추가됩니다.

버튼2

텍스트 : TinyDB초기화

TinyDB 초기화 버튼을 누르면

TinyDB의 모든 데이터가 초기화 됩니다.

목록 뷰

 

 목록 뷰에 현재 사용자 정보 목록를 표시합니다.

TinyDB1

 

 DB로서 데이터를 저장합니다

한 앱 내에서 정보 공유가 가능합니다.

 


블록 편집 화면 뷰어

 

 

 

번호

요소

발생시기

 설명

버튼

앱이 실행 시

변수를 초기화 합니다.

목록 뷰에 들어갈 문자열을 저장합니다.

정보1, 정보2, 정보3

 

목록 뷰

목록 뷰의 목록 선택 후,

목록 뷰 선택 후, TinyDB에 저장된 값을 불러와 화면에 표시

 

버튼1

데이터 추가 버튼 선택

데이터 추가 버튼을 누르면 화면에 입력한 ‘사용자   정보’‘취미 및 기타’ 정보를 TinyDB에 저장합니다.

버튼2

TinyDB초기화 버튼선택

 목록 뷰와 TinyDB의 값을 초기화

 

사용자 정보 저장



사용자 정보를 저장할 변수를 선언합니다. 데이터 추가를 할 때마다 user의 변수에 추가로 해당 사용자가 추가 됩니다목록 뷰에 문자열을 지정하기 위해 다음과 같은 값으로 저장되게 됩니다.

 

() 사용자1, 사용자 2, 사용자 3

 

목록에 있는 사용자 정보를 선택하면 화면에 있는 텍스트 상자에 사용자 정보와 취미 및 기타정보를 불러와 표시하게 됩니다.

 

데이터 추가 버튼을 누르면 화면에 입력한 사용자 정보’, ‘취미 및 기타정보를 TinyDB에 저장합니다.


여기에서 목록 뷰에 데이터를 표시하는 방법은 

이번 강좌에서는 목록 뷰 속성인 목록 문자열 이용하여 추가했습니다.


일반적으로 전에 블로그에 공유했던 목록 뷰의 목록 요소를 이용하는 것이 좋습니다.


(블로그 글) [앱 인벤터2] 기본 기능 익히기 1 (목록뷰)


([앱 인벤터2] 기본 기능 익히기 1 (목록뷰) 참조)





데이터 초기화 버튼을 선택하면, 현재 DB의 내용을 초기화 시키고, 목록 뷰의 내용도 삭제하고 초기화 합니다.

 

장치에 연결 , 앱을 확인하기

 

 


스마트폰으로 연결하여 결과를 확인해 봅니다.

 

 

[화면 1]

 

 


[화면 2]


정리해 보겠습니다. 


앱 내에서 정보를 공유하기 위해 사용하는 구성 요소가 뭘까요? 


앱이 실행될 때마다 기존의 정보를 저장할 수 있게 하는 것을 가능케 하는 구성요소는 뭘까요?


...


그렇습니다 .TinyDB입니다.


그렇다면 왜 TinyDB을 초기화 할까요? 


TinyDB는 어떤 정보를 이용하여 저장하고 값을 불러올까요?


... 이 부분이 기억이 안나세요... 음 한번 더 위의 내용을 보는 것이 어떨까요? ^^


화이팅입니다. 오늘 하루도 수고하셨습니다.

 

하나님이 세상을 이처럼 사랑하사 독생자를 주셨으니 이는 그를 믿는 자마다 멸망하지 않고 영생을 얻게 하려 하심이라(3:16)