본문 바로가기

[앱인벤터2] 리스트 만들기 - list와 for each 앱 만들때 자주 사용할 필요가 있을 것 같아서 리스트 만드는 법만 간단히 포스팅 해보려고 한다. 리스트를 만들면 보통 레이블에 글씨를 표현하고자 할 때 "(내용, 내용) : (내용 내용)" 이런 형태로 내가 입력한 것은 "내용" "내용"인데, 엉뚱하게 ( ) 가로들이 섞여 나온다. 이럴 때 해결방법이 위 그림과 같이 코팅하는 것이다. 먼저 리스트에 문제와 답이 들어가는 두개의 텍스트 박스가 있고, 리스트로 문제와 답이 "문제? : 답" 형태로 저장 된다고한다면, "문제?"을 나타내어줄 변수 "question3"(for each문에 인자값으로 선언됨)와 그 문제를 받아서 같은 인덱스를 갖고 있는 "답"을 나타내어 줄 변수 "answer3"를 전역변수로 밖에 선언을 하는데 빈 텍스트박스로 선언해준다. 그리고.. 더보기
[문제풀이]앱인벤터2 - "09. 실로폰" 확장하기 P184 앱인벤터2 문제풀이 - P184 페이지 "실로폰" 확장하기 1. 재생 중에 사용자가 [지우기]버튼을 누르면 어떤 일이 벌어질까? 프로그램 오류가 발생하면서 앱이 멈추어 버릴 것이다. 이를 실행해 보고, 왜 그러는지 곰곰히 생각해 보자. 이 문제를 해결하기 위해서는 음악이 재생되기 시작하면 [지우기] 버튼을 불능으로 설정하는 방법이 있다. PlayButton.Click의 적절한 곳에 [지우기] 버튼을 불능으로 만드는 블록을 추가해 보자 그렇다면 어디에서 [지우기] 버튼을 다시 살려야 할까? 연주를 눌러서 연주가 실행되는 동안 지우기 버튼의 기능을 비활성화 상태에 있도록하고, 연주가 끝남과 동시에 지우기버튼이 활성화되도록 해봤다. 블록탭에서 when PlayButton1.Click do에 if then의 t.. 더보기
[문제풀이]앱인벤터2 - "08. 대통령 알아맞히기" 확장하기 P165 앱인벤터2 문제풀이 - 165페이지 "대통령 알아맞히기" 확장하기 1. 현재 앱은 문제마다 그림만 보여준다. 짧은 소리나 동영상도 같이 보여주도록 확장한다. 디자이너탭에서 ActivityStater, Sound를 추가하여 아래와 같은 형태로 만들고, ActivityStarter의 Action속성에 "android.intent.action.VIEW" 를 추가한다. 블록탭에서 아래 그림처럼, initialize global YoutubeList to make a list "유투브주소1", "유투브주소2", "유투브주소3", "유투브주소4"를 자료화면으로 순서대로 삽입하고, HINT(자료화면버튼)는 when HINT.Click do를 꺼내어 set ActivityStarter1.DataUri to select.. 더보기
[앱인벤터2] 프로시저를 이용한 리스트(make list) 만들기 앱인벤터2 - 프로시저를 이용한 리스트 만들기 앱인벤터2에 블록란에 to procedure를 이용하면 자주 반복되는 명령문을 처리할 때, call 프로시저에 변수만 입력하여 호출해서 사용하면 되므로 이를 통해 중복코딩를 방지하고 간단명료한 프로그램을 짤 수 있다. 앱 동작은 GPS로 현재위치를 수시로 띄워주고, 이동 궤적 기록을 클릭하면 밑에 레이블에 위도,적도를 리스트 형태로 나타내주고, 이 리스트는 "이동 궤적 기록"버튼을 누를 때 마다 한 줄씩 추가 업데이트 된다. 블록에서 우선 Initialize 로 리스트변수를 만들어 준다음 값을 비워두고, 리스트를 저장할 TinyWebDB의 StoreValue와 GetValue 를 꺼내어 GetValue는 프로그램시작시 실행되는 Screen.Initialize.. 더보기
[문제풀이]앱인벤터2 - "07. 내 차를 찾아줘" 확장하기2 P147-0 앱인벤터2 문제풀이 - 147페이지 "내 차를 찾아줘" 확장하기 1. 이제 친구들끼리 위치를 공유하는 라는 앱을 만들어 보자. 이는 친구들과 등산을 하거나 공원에서 놀다가 흩어졌을 때 서로를 찾는 시간을 절약할 수 있을 뿐 아니라, 때로는 생명까지도 구할 수 있다. 여기서 여러 명의 위치 데이터를 공유해야 하므로, TinyDB 대신 TinyWebDB를 사용해야 한다. 데이터베이스에 대한 보다 자세한 내용은 22장을 참조한다. 아래 그림은 실행화면이다. 사용자가 "자신의 위치 저장" 버튼을 누르면, 화면 아래에 "위도, 적도"가 표시되며 웹DB에 사용자 이름은 인덱스로 위도, 적도는 데이터값으로 리스트 목록에 추가 저장되고, "동료찾기"란 버튼을 누르면, 가운데 그림처럼 입력된 동료들의 이름이 인텍스 형태.. 더보기