- 변수를 사용하여 앱 내에 데이터를 저장하는 방법 알아보기
- 데이터를 목록으로 정리하는 방법 알아보기
- 앱에서 변수 및 목록 사용
이 단원의 활동은 다음과 같습니다:
데이터 저장
앱을 코딩할 때 일반적으로 앱에 저장, 업데이트 및 액세스해야 하는 정보나 데이터가 있습니다.
앱을 실행하는 데 필요한 데이터에는 3가지 유형이 있습니다:
변수
앱이 실행되는 동안 정보를 저장합니다.
예를 들어 사용자 이름이나 게임 점수 등이 있습니다.
로컬 스토리지
앱이 실행될 때마다 검색할 정보를 모바일 장치에 저장합니다.
예를 들어, 사용자 주소나 높은 게임 점수 등이 있습니다.
클라우드 스토리지
모든 앱 사용자가 정보에 액세스할 수 있도록 웹(클라우드)에 정보를 저장합니다.
예를 들어 게임 순위표나 채팅 메시지 등이 있습니다.
이 단원에서는 변수를 사용하여 앱 내에 데이터를 저장하는 데 중점을 두겠습니다.
변수
코딩에서 가장 중요한 개념 중 하나는 변수(. A 변수 는 변경될 수 있는 데이터의 이름입니다. 기억하기 쉬운 방법은 변수는 다음과 같이 달라지다또는 값이 변할 수 있습니다.
매일매일 가치를 변화시키는 중요한 정보가 많이 있습니다. 다음은 몇 가지 예입니다:



A 변수 는 정보를 저장할 수 있는 상자와 같습니다.
- 당신 라벨 또는 이름 라벨을 붙이거나 이름을 지정하여 상자에 무엇이 들어있는지 기억합니다.
- 정보가 필요할 때 상자를 열고 안에 무엇이 있는지.
- 또한 다음을 수행할 수도 있습니다. 상자 안의 내용을 변경할 수도 있습니다. 상자 안의 내용은 변경하되 외부의 이름은 그대로 유지할 수도 있습니다.

썽크 가능한 변수
Thunkable에서는 앱 변수 를 사용하여 앱이 실행되는 동안 정보를 저장합니다.
모든 변수 블록은 변수 서랍에서 찾을 수 있습니다.

변수에는 세 가지 기본 블록이 있습니다. 아래 탭에서 이에 대해 자세히 알아보세요.
초기화 블록은 앱에서 변수를 위한 별도의 저장 공간을 설정합니다. 유용한 이름을 지정합니다.
여기서 변수 numberOfLessons 변수는 교육 앱에서 완료한 수업 수를 추적하기 위해 0으로 초기화됩니다.
설정 블록을 사용하면 변수 값을 설정하거나 업데이트할 수 있습니다.
여기서 현재 값을 가져오고 변수를 현재 값 + 1로 설정합니다. 따라서 numberOfLessons가 2이면 새 값은 3이 됩니다.
get 블록을 사용하면 변수의 현재 값을 가져올 수 있습니다.


목록
앱을 개발하다 보면 앱 내에서 액세스해야 하는 데이터가 여러 개 있을 수 있습니다.
예를 들어 앱에서 하나의 사용자 이름 대신 앱의 모든 사용자 이름에 액세스해야 할 수 있습니다. 또는 앱이 동물에 관한 것이므로 저장해야 하는 동물 이름과 이미지가 여러 개일 수도 있습니다.
썽크케이블에서는 목록 라는 것을 사용하여 프로그램에서 여러 데이터 항목을 정리합니다. 다른 프로그래밍 언어에서는 이를 배열라고 부르지만 본질적으로 같은 개념입니다.
할 일 목록이나 장보기 목록을 만들어 본 적이 있을 텐데요, 프로그래밍의 목록은 매우 유사합니다.


목록은 블록 편집기의 핵심 블록 팔레트를 통해 액세스할 수 있습니다. 목록에 항목을 만들고, 저장하고, 검색하고, 업데이트할 수 있는 여러 블록이 있습니다.
목록을 앱 변수에 저장하면 목록에 이름을 지정할 수 있습니다.

관련성이 있는 정보가 여러 개 있는 경우에는 언제든지 목록을 사용해야 합니다.
예를 들어 게임의 최고 점수 상위 10개를 표시하려면 HighScore10에 도달할 때까지 HighScore1,HighScore2, HighScore3 등의 이름을 가진 10개의 변수를 만들 수 있습니다.
선호하는 작업은 고득점 목록을 만들어 고득점 10개를 모두 보관하는 것입니다. 하나의 목록으로 고득점 순서를 정하고, 업데이트하고, 추가하는 것이 훨씬 쉬워집니다.

목록의 각 항목에는 색인를 사용하여 목록에서 해당 항목을 검색할 수 있습니다.
예를 들어, 아래 블록에서 인덱스 2는 과일 목록의 두 번째 항목을 가리킵니다. 따라서 레이블1은 "바나나"를 표시합니다.


목록에 항목을 추가, 제거, 바꿀 수도 있습니다.
사과, 바나나, 오렌지]의 원래 과일 목록을 가지고 아래 블록을 실행하면 어떤 과일 목록이 순서대로 포함될지 추측할 수 있나요?


멘토 팁
모범 모범 사례: 변수라는 단어는 학생들이 배우기 어려운 주제 중 하나입니다. 상자 비유는 정말 도움이 되므로 실제 상자에 라벨을 붙여서 설명해야 하는 경우 좋은 아이디어가 될 수 있습니다!
학생에게 물어볼 수 있는 안내 질문:
목록이나 변수 외에 데이터를 저장할 수 있는 다른 방법이 있을까요? 두 값을 함께 보관하고 싶을 때는 어떨까요? 예를 들어 오렌지가 몇 개이고 사과가 몇 개 있는지 목록을 만들고 싶을 때와 같은 경우입니다:
Oranges: 3
Apples: 5
어떻게든 저장하고 싶어요. 좀 더 복잡한 목록입니다. 거의 다음과 같이 값이 서로 연결된 목록과 같습니다:
오렌지 -> 3
사과 -> 5
화살표에는 방향이 있으므로 이것을 지도라고 부를 수 있습니다! 다른 데이터 구조도 많이 있습니다! 다른 데이터 구조도 있나요?
우수한 학생을 위한 고급 지식: 학생 중 블록 코딩이 아닌 다른 코딩에 관심이 있는 경우(예: 파이썬이나 자바스크립트로 코딩을 계속하는 경우) 코딩 언어는 상자 안에 있는 내용에 더 신경을 쓴다고 설명해 줄 수 있습니다. 예를 들어 숫자는 단어의 문자와 다르게 처리됩니다. 파이썬이나 자바스크립트와 같은 언어는 변수에 저장할 수 있는 '유형'이 다르기 때문에 숫자와 문자를 저장하는 방식에 대해 매우 까다롭습니다. 물건을 저장할 때 서로 다른 유형의 상자를 사용한다고 비유할 수 있습니다: 남은 음식은 남은 음식 전용 상자(터퍼웨어)에 넣고, 이사를 갈 때는 이삿짐 상자(판지 상자)에 넣어야 합니다. 파이썬도 마찬가지입니다. 숫자는 숫자 상자에, 문자는 문자 상자에 넣어야 합니다.
멘토 팁은 AmeriCorps의 지원을 받아 제공됩니다.

![솔루션: [사과, 체리, 키위, 포도] 목록 만들기](https://technovationchallenge.org/wp-content/uploads/2024/02/answer-thunkable-list.png)
활동: 퀴즈 앱 완성하기
돌아보기
이 단원에서는 앱에 정보를 저장하는 방법과 목록으로 많은 정보를 사용하는 방법을 배웠습니다. 다음 질문을 고려해 보세요:

주요 용어 검토
- 변수- 앱 내에서 이름을 지정하고 정보에 액세스하는 방법
- 목록 - Thunkable에서 여러 데이터를 정리하는 방법
- 색인 - 목록에서 데이터의 위치를 알려주는 숫자
- Array - 앱 인벤터 및 썽커블 이외의 프로그래밍 언어에서 목록의 일반적인 이름입니다.
추가 리소스
단순 목록 구성 요소(이전에는 목록 뷰어라고 함)는 다음을 수행할 수 있습니다.
- 앱의 목록 요소 표시
- 사용자가 목록에서 항목을 선택하면 됩니다.
- 사용자가 항목을 선택할 때 수행할 작업의 코딩
이 동영상에서 사용 중인 데모를 확인하세요: