추천강의

APPINVENTOR 학원 강의 교육

알지오 2018. 4. 27. 17:15

알지오 평생교육원 APPINVENTOR 강좌입니다.


전문가들이 뽑은 꼭 배워야하는 실무활용 강의

그동안 찾던 APPINVENTOR 강좌의 완전판 !

여러분의 마지막 강의가 되어드리겠습니다.


알지오에서는 PC와 스마트폰, 태블릿을 이용해서 언제,

어디서나 공부를 할 수 있습니다.

열심히 공부해서 APPINVENTOR 강좌를 마스터해보세요.


<APPINVENTOR 강좌 샘플동영상>



<APPINVENTOR 강좌 리뷰>


앱인벤터 추천 글이 있어서 구경이나 할겸 들어왔다가 수강생이 됐네요. 

수강을 결정하게 된 계기는 강의내용이 꽉 차있고 잘 만들어져서 입니다.

수업에 필요한 용어들은 확실히 암기돼서 점점 쉽게 배워지는 것 같아요. 

이렇게 우연히 들어와서 좋은 강의 만나서 너무 다행이네여. 

앞으로 배우는 속도도 점점 빨라질 것 같네요.



APPINVENTOR 강좌 정보입니다. 추천 인터넷 강의 : 알지오


  • 01.44분 어플리케이션 개발 시작하기

    앱 인벤터를 사용해서 간단한 안드로이드 어플리케이션 개발하면서 속성, 이벤트, 메소드 개념을 이해하고 안드로이드 에뮬레이터를 통해 개발한 어플리케이션의 동작을 확인하도록 합니다.

    책갈피 : [00:08] 앱 인벤터를 사용한 애플리케이션 만들기/[00:25] 새 프로젝트 생성/[00:50] Palette 화면/[01:03] User Interface/[01:18] Media/[01:26] Drawing and Animation/[01:38] sensors/[01:57] Viewer 화면/[02:07] Components 화면/[02:30] Properties 화면/[02:52] 동물 버튼을 클릭했을 때 동물 울음소리가 나는 애플리케이션 만들기/[03:12] User Interface-Label을 드래그해서 Viewer로 이동/[04:00] Components 이름 변경/[04:26] Label의 세부 항목 확인/[04:30] BackgroundColor변경/[04:53] Label에 해당하는 텍스트의 속성 정의/[05:53] Label상자를 수동으로 사이즈 변경/[06:23] TextAlignment-center/[06:43] 동물 이름 버튼 만들기/[07:15] Button 속성의 Image/[07:38] pc에 있는 그림을 앱 인벤터로 upload/[08:01] Components아래 Media upload/[08:22] 사자그림 삽입/[08:50] 버튼 그림 크기 변경/[09:15] 개와 돼지 버튼 추가/[09:48] 버튼 이름 변경/[10:33] 동물 울음소리 음성파일 업로드/[11:11] 음성에 해당하는 구성요소 Viewer에 삽입/[11:28] Media-Sound 삽입/[12:07] 각각의 사운드컴포넌트에 실제 음성파일 연결/[12:22] 사운드컴포넌트에서 사운드선택-세부속성에 Source/[13:03] 각종 컴포넌트들의 동작 설정 실습/[13:20] Blocks버튼 클릭/[13:43] Blocks의 구성/[13:56] Built-in항목/[14:13] Screen1항목/[14:37] Any component항목/[15:18] Viewer화면/[15:52] 앱 인벤터에서 컴포넌트들의 동작을 지정하기 위한 개념/[16:07] 속성/[17:03] 이벤트/[17:17] 메소드/[17:48] Built-in의 Control/[18:30] Screen1의 Label/[19:22] 블록의 색이 다른 속성, 이벤트, 메소드/[20:56] Any component/[21:25] 특정 컴포넌트를 블록 지정과 동작 만들기 방법/[21:56] 사자버튼을 클릭했을 때의 동작 만들기/[22:40] 버튼을 클릭했을 때의 이벤트 블록 생성/[23:03] 해당 음성이 출력되도록 만들기/[23:18] Designer로 가서 사운드 컴포넌트 이름 변경/[24:00] 음성 컴포넌트에서 지원되는 블록 나열/[24:15] 음성을 출력하겠다는 메소드 선택/[24:48] 블록을 제대로 배치하지 않았을 경우/[25:26] 텍스트 변경 작업/[26:11] set Label1 Text블록 선택/[27:07] 변경할 텍스트 블록 삽입/[27:48] 해당 텍스트 입력/[28:15] 블록 전체 복사/[28:37] 개 버튼으로 변경/[29:30] 블록 복사해서 돼지버튼으로 변경/[30:07] 프로그램 확인을 위해 에뮬레이터 동작시켜 애플리케이션 실행/[30:37] aiStarter/[30:48] Connect-Emulator/[31:37] 만든 애플리케이션 확인/[32:07] 앱 인벤터와 에뮬레이터가 연결된 상태에서 프로그램 내용을 변경할 경우/[32:37] 에뮬레이터에서 확인/[33:06] Designer에서도 변경사항 적용/[33:15] 각 버튼의 크기 변경/[33:30] 에뮬레이터에서 확인/[33:59] 속성 블록에 해당하는 두가지 개념/[34:45] setter와 getter/[35:36] getter를 이용해서 특정 컴포넌트의 속성값 넣기/[36:00] Designer에서 Label2추가/[36:37] Label2의 글자색을 바꿀 수 있는 setter선택/[37:14] Label1의 글자색에 해당하는 getter선택/[37:34] 에뮬레이터에서 확인/[38:00] 스크린 컴포넌트 설명/[38:37] Designer-Screen1의 세부 속성/[39:52] 변경된 속성 에뮬레이터로 확인/[40:13] 변경사항이 반영되지 않은 경우/[40:45] 주의사항/[41:00] 에뮬레이터를 강제로 종료할 경우/[41:22] 재부팅을 하지않고 에뮬레이터를 실행시키는 방법/[42:07] 삭제 방법

  • 02.50분 그래픽 유저 인터페이스

    앱 인벤터에서 제공하는 그래픽 유저 인터페이스 관련 기능을 익히도록 합니다.

    책갈피 : [00:05] 인적사항을 입력하고 결과를 출력하는 안드로이드 애플리케이션 개발/[00:42] CheckBox사용법에 대해 실습/[01:03] 체크박스와 버튼 속성의 다른점/[01:26] checked속성/[01:53] 인적사항여부인 결혼 유무 관련의 체크박스 만들기/[02:20] 체크박스 컴포넌트의 동작 설정 방법/[03:12] 속성값을 변경할 수 있는 setter블록/[03:50] 체크박스는 체크를 했을 때와 안했을 때 이벤트 발생/[04:26] 많이 사용되는 checked라는 getter블록/[04:41] 체크박스의 상태를 확인할 수 있는 기능 만들기/[05:00] 라벨입력 후 텍스트 입력/[05:30] checked라는 getter블록 사용/[06:00] 체크박스의 속성값을 언제 이룰지 설정/[06:15] 이벤트블록 중 changed블록 선택/[06:40] 미리 만든 블록 이벤트 블록에 삽입/[06:59] 에뮬레이터를 통해 동작 확인/[08:07] TextBox컴포넌트를 사용하는 실습/[08:33] 텍스트박스의 속성/[08:58] hint속성에 문구 입력/[09:24] multiline속성/[09:50] 텍스트박스에 이름을 입력하고 이름을 라벨로 만드는 동작/[10:33] 라벨 컴포넌트 하나 더 생성/[10:58] 라벨2의 문구를 변경하기위한 속성블록 선택/[11:16] 텍스트를 읽을 수 있는 getter블록 선택/[12:03] 버튼 컴포넌트 추가/[12:28] 버튼 클릭 이벤트 블록 선택/[12:54] 에뮬레이터를 통해 확인/[13:50] 텍스트박스를 통해 입력한 값을 지우는 버튼 만들기/[14:31] 텍스트 속성을 변경할 수 있는 setter블록 선택/[14:50] 텍스트를 생성할 수 있는 블록/[15:43] 에뮬레이터 확인/[16:25] 패스워드 텍스트박스 컴포넌트 만들기/[17:03] 라벨과 버튼 추가/[17:14] 동작 설정/[18:07] hint속성 입력/[18:18] 에뮬레이터 확인/[19:00] 취소버튼을 눌렀을 때 입력된 내용 삭제하게 만들기/[20:03] 복사와 붙여넣기로 손쉽게 블록 추가/[20:44] 취소버튼처럼 확인버튼도 두가지 동작을 하도록 변경/[21:00] 에뮬레이터를 통해 동작 확인/[21:45] 만든 그래픽 유저 인터페이스 배치하기/[22:18] 레이아웃 컴포넌트 기능 활용/[23:11] 수평으로 레이아웃을 설정하는 방법 실습/[23:40] fill parent선택/[24:00] 배치할 컴포넌트 넣기/[25:56] 수직 레이아웃 컴포넌트 활용/[26:29] 레이아웃 컴포넌트의 그룹화/[27:14] 일정한 크기의 빈공간 만들기/[28:21] 테이블 레이아웃 컴포넌트/[29:48] 미리 정해진 공간에만 배치/[30:15] 애플리케이션 만들기/[30:52] Title속성 변경/[31:21] 라벨과 텍스트 컴포넌트 수평으로 배치/[32:42] 라벨 문구 입력과 텍스트 박스의 hint속성 입력/[33:37] 주민번호 뒷자리 패스워드 입력방식 사용/[34:50] 체크박스와 버튼 삽입/[36:29] 인적사항 결과부분 추가/[37:37] 구분선 생성/[38:21] 각각의 컴포넌트 동작 만들기/[38:50] 각각의 컴포넌트 이름 변경/[40:07] 확인버튼의 이벤트블록 생성/[41:37] 라벨에 표시할 텍스트 내용 입력/[43:00] 두 종류의 텍스트 입력방법/[44:22] 텍스트를 하나로 연결하는 블록/[45:36] checked라는 getter블록/[45:52] 취소버튼을 눌렀을 때의 이벤트/[47:22] 각각의 컴포넌트 값을 지우는 기능/[48:13] Logic에서 false블록 사용/[48:27] 에뮬레이터 확인

  • 03.47분 멀티미디어

    앱 인벤터에서 제공하는 멀티미디어 관련 컴포넌트 사용 방법을 익히도록 합니다.

    책갈피 : [00:07] 멀티미디어 컴포넌트 사용/[00:19] 이미지관련 컴포넌트/[00:41] 이미지 삽입 컴포넌트/[01:03] ImagePicker 컴포넌트/[01:44] 표시된 이미지는 블록을 통해 변경과 삭제/[02:07] ImagePicker버튼을 눌렀을 때 이미지가 표시되는 실습/[02:38] 버튼과 ImagePicker 컴포넌트 블록의 차이/[03:07] AfterPicking이벤트블록/[03:38] setter블록을 이벤트블록과 결합/[04:10] selection블록 사용/[04:30] 에뮬레이터 실행/[05:00] 이미지 다운로드/[05:46] 애뮬레이터 재실행/[06:44] 인터넷 주소를 통해 특정사진 표시/[07:09] 텍스트 블록 사용/[07:46] 에뮬레이터 확인/[08:11] 이미지 컴포넌트의 보이는속성 변경/[08:26] 버튼 2개 추가/[08:48] 버튼을 클릭했을 때 동작/[09:26] 에뮬레이터 확인/[09:43] 음성 재생에 관련된 컴포넌트 사용/[10:01] player컴포넌트/[10:39] 각 기능을 위한 버튼 입력/[11:18] play버튼의 동작/[11:46] stop버튼의 동작/[12:01] 볼륨조절 버튼의 동작/[12:37] Math에서 숫자를 입력할 수 있는 블록/[13:16] 에뮬레이터 확인/[14:13] 버튼의 활성화와 비활성화/[15:33] 에뮬레이터 확인/[16:07] 활성화 기능을 이용해서 mute버튼을 스위치처럼 만들기/[16:52] Enabled 세터블록 활용/[17:21] 에뮬레이터 확인/[17:44] 스위치처럼 동작할 때의 장점/[18:07] 영상재생 컴포넌트 사용/[18:22] videoPlayer컴포넌트/[19:15] 버튼을 이용해 영상을 재생하고 멈추는 동작 만들기/[19:48] 영상 재생과 멈춤 이벤트/[20:21] 에뮬레이터 확인/[20:56] 영상이 재생될 때 화면에 표시/[21:11] visible속성값을 hidden으로 변경/[21:36] visible을 설정할 수 있는 세터블록 연결/[22:00] 에뮬레이터 재실행/[22:30] 영상재생 컴포넌트에 관련된 다른 기능/[23:00] tts재생관련 컴포넌트/[23:22] TextToSpeech컴포넌트/[23:47] tts기능 만들기/[24:25] 버튼을 클릭했을 때 tts기능 입력/[25:07] tts에서 제공하는 두가지의 이벤트 블록/[25:30] AfterSpeaking이벤트/[26:03] 에뮬레이터 확인/[26:33] 실습한 내용을 바탕으로 멀티미디어 애플리케이션 만들기 실습/[26:56] 그림으로된 버튼 만들기/[27:44] 버튼 텍스트 제거와 크기 조절/[28:29] title변경/[29:07] 라벨 추가/[29:48] 사진버튼을 눌렀을 때 나오는 화면 만들기/[30:21] ImagePicker컴포넌트/[30:48] 텍스트박스 추가/[31:56] 레이아웃 컴포넌트를 이용해 그룹화해서 처리/[33:05] 음악버튼을 눌렀을 때 나오는 화면 구성/[33:22] 각 기능의 버튼 그림으로 만들기/[34:14] 수평레이아웃 컴포넌트 삽입/[34:52] 비디오버튼을 눌렀을 때 나오는 화면 구성/[35:44] 정렬/[36:21] 각각의 영역 이름 변경/[37:07] tts기능의 UI만들기/[37:45] 텍스트박스와 버튼 배치/[39:28] 각각의 버튼에서 이벤트블록 생성/[41:15] subscreen동작/[41:45] 에뮬레이터 확인/[42:30] subscreen의 세부동작 추가/[46:36] 에뮬레이터 실행 확인

  • 04.44분 데이터 타입 처리 블록 그룹

    앱 인벤터에서 제공하는 여러 데이터 타입을 처리하는 블록 그룹을 알아봅니다.

    책갈피 : [00:10] 데이터 타입을 처리하는 블록 그룹/[00:39] Built-in 블록 집합/[00:56] 4가지의 데이터 타입/[01:30] Colors데이터 그룹/[02:07] 실습을 통해 색상 데이터 타입 사용/[02:28] 색상을 변경할 라벨과 버튼 삽입/[03:22] 버튼을 눌렀을 때 라벨의 색이 변경되는 동작/[04:00] text 게터블록/[04:30] 3개의 게터블록을 합쳐 하나의 색으로 바꿀 수 있는 블록 추가/[05:27] 텍스트 데이터 연결/[05:54] 에뮬레이터 확인/[06:46] 배경색 바꾸기/[07:15] 텍스트 색상과 동일하게 설정/[07:30] 에뮬레이터 확인/[08:03] 색상값 추출 실습/[08:09] split color블록/[08:39] 동작 만들기/[09:37] 에뮬레이터 확인/[10:18] 숫자 데이터 타입 블록그룹 실습/[10:37] Math의 블록 기능 설명/[11:52] 연산하는 숫자 늘리기/[12:39] 무작위로 발생하는 난수값/[13:41] 숫자를 변환하거나 최소, 최대 범위를 찾는 기능/[14:20] 숫자인지 판단하는 기능/[15:05] 간단한 계산기능 실습/[15:43] 버튼에 해당하는 사칙연산기능 추가/[16:26] 각각의 텍스트 속성을 입력받을 게터블록/[17:17] 에뮬레이터 확인/[17:41] 관계 연산 블록기능 추가/[18:22] 값을 참인지 거짓인지로 표시/[18:45] 관계 연산 블록 연결/[19:18] 비교연산을 할 수 있도록 만들기/[19:30] 에뮬레이터 확인/[19:52] 논리 데이터 타입 블록/[20:07] Logic집합의 블록 기능 설명/[21:15] 체크박스 두종류를 동시에 선택할 수 없게하는 실습/[22:07] 체크박스1의 상태가 변경됐을 때 체크박스2의 활성화 상태 결정/[23:07] 관계 블록의 not블록/[23:33] 체크박스2 반대로 생성/[24:21] 에뮬레이터 확인/[25:07] 문자열 데이터 블록 설명/[25:48] 문자열을 비교하는 기능/[26:33] 문자열을 자르거나 합치는 기능/[27:07] 문자를 비교하고 합치는 기능 실습/[27:37] 문자열을 비교하는 블록/[27:56] 라벨로 비교한 결과 표시/[28:15] 에뮬레이터 확인/[28:44] 문자열 비교중 크거나 작을 경우/[29:41] 숫자 비교를 할 때와 다른점/[30:32] 에뮬레이터 확인/[31:14] 문자열 합치는 기능 실습/[31:33] join블록 연결/[31:52] 에뮬레이터 확인/[32:15] trim블록의 기능/[33:07] 문자열의 상태를 확인하고 문자를 변환시키는 기능/[33:45] upcase블록/[35:04] 특정 조건에 따라 문자열을 나누는 기능/[35:59] 문자열을 검색하는 기능/[37:22] 검색버튼의 동작/[38:37] 에뮬레이터 확인/[39:14] 문자열 추출 기능/[40:07] segment블록 활용/[41:12] 추출한 문자 라벨로 표시/[41:58] 문자열에서 특정 단어를 다른 단어로 바꾸는 기능/[42:51] replace블록 연결/[43:15] 해당 텍스트 게터블록 연결/[43:39] 에뮬레이터 확인

  • 05.47분 데이터 및 함수 선언 블록 그룹

    앱 인벤터에서 제공하는 여러 데이터 구조 및 함수를 다루는 블록 그룹을 알아봅니다.

    책갈피 : [00:10] 변수 및 함수 사용법 실습/[01:06] 변수 및 함수 사용을 위한 블록/[01:23] Variables블록/[02:07] 변수를 초기화하는 블록으로 변수 만들기/[02:38] 변수 선언 후 초기값 설정/[03:22] 카운터값이 증가하는 버튼/[04:11] 변수값을 변경할 수 있는 세터블록을 이벤트블록에 연결/[05:00] 카운터 변수값/[06:39] 카운터값 감소 기능/[07:00] 카운터값을 라벨로 표시/[07:58] 리셋버튼 기능/[08:39] 에뮬레이터 확인/[09:11] 두 종류의 변수/[09:22] 전역변수/[09:48] 지역변수/[11:35] 지역변수를 선언할 수 있는 블록 삽입/[12:11] 지역변수 초기값/[12:48] 감소버튼에도 지역변수 선언/[14:48] 초기화한 값 변경/[15:48] 사용자 입력을 받아 변경/[16:37] 에뮬레이터 확인/[18:00] 함수 사용법 실습/[18:26] 함수 블록/[18:56] 함수를 만들수 있는 Procedures블록/[19:40] 카운터값을 저장할 전역변수 생성/[20:29] 동일한 해당 블록/[20:55] 함수 만들기/[21:41] 함수에 입력받을 수 있는 변수 추가/[23:15] 함수 이름 변경/[23:45] 새로 추가된 함수 블록/[24:17] call 다음에있는 함수 이름에 따라 함수 호출/[24:55] number에 해당하는 숫자값 연결/[25:56] 함수를 호출할 수 있는 블록 삽입/[26:21] 에뮬레이터 확인/[26:37] 비슷한 기능을 함수로 만들었을 때의 장점/[28:06] 함수 반복해서 사용/[28:26] 함수 결과값을 넘겨주기 위한 함수/[28:48] 사칙연산을 통해 나온 결과값을 내보내는 함수 만들기/[29:21] 함수를 호출할 함수 자동으로 생성/[31:03] 지역변수를 사용한 함수/[31:22] 리스트 관리 실습/[32:15] 리스트 관리를 위한 블록 제공/[33:30] Lists블록의 기능/[33:52] 리스트 이름 선언/[34:30] 색상으로된 리스트 만들기/[34:59] 버튼을 눌렀을 때 리스트 추가/[35:42] add items to list블록 사용/[36:43] 완성된 블록 이벤트 블록과 연결/[37:05] 리스트 삭제 기능/[37:22] remove list item블록 사용/[38:28] 리스트 검색 기능/[38:36] select list item블록 사용/[39:07] 특정 위치에 있는 자료를 리스트 결과 라벨로 표시/[40:15] 에뮬레이터 확인/[41:57] 확장된 리스트 관리 기능 실습/[42:12] 리스트 삽입 기능/[42:30] 리스트 변경 기능/[43:22] 삽입 기능을 위한 insert list item블록/[44:15] 삽입된 결과 라벨로 표시/[45:07] 변경 기능을 위한 replace list item블록/[45:57] 버튼을 눌렀을 때의 동작/[46:07] 에뮬레이터 확인

  • 06.50분 프로그램 제어 블록 그룹

    앱 인벤터에서 제공하는 프로그램 순서를 제어하는 블록 그룹을 알아봅니다.

    책갈피 : [00:04] 프로그램 제어와 반복문 사용 실습/[01:03] UI구성 및 컴포넌트 이름 변경/[01:36] text블록의 split블록/[02:23] split at spaces블록 사용/[03:00] create empty list블록을 사용해 리스트 생성/[03:37] 리스트를 수정하거나 입력받을 수 있는 게터와 세터블록/[04:12] 버튼을 눌렀을 때의 이벤트 블록과 연결/[04:28] 결과버튼을 눌렀을 때 리스트를 차례료 표시/[04:42] 결과를 표시하는 라벨 변경/[05:15] 문자열을 합치는 join블록/[05:43] 리스트를 읽어서 라벨에 표시했을 때의 결과/[05:57] 에뮬레이터 확인/[07:15] select list item블록 사용/[07:41] 리스트 전역변수 연결/[08:18] 각각의 단어별로 다른줄에 표시/[08:58] 문자열을 합치는 join블록 사용/[09:24] 엔터 기능을 수행하는 문자 입력/[10:09] 각각의 index에 숫자 삽입/[10:41] 합쳐진 문자열 라벨로 표시하도록 연결/[10:50] 에뮬레이터 확인/[11:20] 리스트의 개수가 많을 경우 생기는 문제점 해결방법/[11:52] 여러가지 프로그램을 제어하는 Control블록의 기능/[12:07] 반복문 블록/[13:01] 반복문 블록을 사용해 프로그램 변경/[14:01] 전역변수를 설정한 블록과 연결/[14:54] 결과 라벨 표시/[15:11] 최종 리스트끼리 연결해서 완성된 문자열에 해당하는 지역변수 만들기/[16:15] result라는 지역변수를 활용해서 임시로 저장공간 만들기/[16:44] 리스트 연결 동작 만들기/[18:41] 리스트 안에 3개의 아이템이 있을 경우/[19:18] 4개의 아이템이 있다고 가정할 경우/[21:03] 해당 결과를 라벨로 표시/[22:00] 버튼을 클릭했을 때의 동작을 수행하도록 연결/[22:36] 에뮬레이터 확인/[23:17] 단어 검색을 해서 결과를 표시하는 기능/[23:37] Lists블록 중 상태확인 블록 이용/[24:07] 아이템이 있는지의 여부를 확인하는 블록 사용/[24:44] word_list에서 읽을 수 있는 게터블록 연결/[25:03] text 게터블록 연결/[25:22] 검색 결과를 표시할 라벨의 텍스트 속성 변경/[25:44] 버튼을 클릭했을 때의 동작을 수행하도록 연결/[25:56] 에뮬레이터 확인/[26:33] 정해진 값을 사용자가 원하는 문구로 표시할 수 있는 방법/[26:48] 조건문/[27:07] if then블록/[28:07] 조건을 만들 수 있는 블록 가져오기/[28:47] 세터블록을 가져와 텍스트 문구 변경/[29:17] 에뮬레이터 확인/[29:51] 있는 단어를 검색했을 때 없음으로 결과가 나오는 원인/[30:51] if then else블록/[31:48] else추가/[32:15] 에뮬레이터 확인/[32:37] 반복문 블록을 활용해서 구구단 출력 애플리케이션 만들기/[33:13] 몇 단을 입력받을지 텍스트박스통해 받기/[33:30] 전역변수 선언/[33:50] 버튼을 클릭했을 때 구구단 출력/[34:27] 해당하는 구구단 라벨로 표시/[34:52] 동일한 동작은 반복문 사용/[36:00] 카운팅되는 값/[37:34] 각각을 곱했을 때 나오는 결과값을 저장할 지역변수 추가/[38:22] 결과를 표시하는 방법/[39:00] 문자열을 합치는 기능/[39:58] result지역변수의 범위/[40:45] 곱셈기능 추가/[42:35] 에뮬레이터 확인/[43:04] 조건을 설정해 조건에 맞지 않을 경우 경고표시 설정/[43:20] 조건문 블록 사용/[43:58] Notifier컴포넌트 사용/[44:30] 메시지를 팝업으로 표시하는 ShowAlert블록 사용/[45:20] 숫자인지 확인하는 is a number?블록 사용/[47:13] 참 거짓을 반대로 바꿔주는 not블록 사용/[48:00] 조건이 하나 이상일 경우 else if블록 사용/[48:58] and블록 사용/[49:51] 에뮬레이터 확인

  • 07.38분 계산기 어플리케이션 개발

    앱 인벤터를 사용해서 계산기 어플리케이션을 개발합니다.

    책갈피 : [00:03] 조건 반복문 만드는 실습/[00:09] 조건 반복문 설명/[00:48] 결과를 표시하는 버튼을 클릭했을 때의 이벤트/[01:02] 숫자값과 지수값을 읽을 게터블록/[01:23] 조건 반복문에 사용하는 while블록 사용/[02:04] 지역변수 만들기/[02:23] counter지역변수를 초기화하고 초기값 설정/[02:49] 숫자를 비교하는 블록/[03:21] 지수값을 읽기위한 지역변수 추가/[04:11] 반복문을 실행할 때마다 카운터값 증가/[05:15] 지수 승을 할 숫자 지역변수 만들기/[05:54] 지수 승을한 값을 저장하는 지역변수 추가/[06:12] 지수 승을 곱하는 동작/[07:28] 결과를 표시하기위한 라벨/[07:42] 버튼을 눌렀을 때 동작하도록 설정/[08:09] 에뮬레이터 확인/[09:22] 계산기 어플리케이션 만들기/[09:48] 테이블 레이아웃 컴포넌트 사용/[10:28] 3개의 전역변수 생성/[11:15] 버튼을 눌러서 계산할 숫자를 만들어 라벨로 표시하는 동작/[12:33] 일반 계산기처럼 숫자 입력 기능 만들기/[14:24] 다른 숫자 버튼 동일한 동작 만들기/[14:54] 반복되는 기능 함수로 만들기/[15:33] 버튼을 클릭할 때 만들어둔 함수 호출/[16:10] 특정 부분이 바뀔 경우 변수 추가/[16:22] 매게 변수를 사용하기 위한 input블록/[17:52] 에뮬레이터 확인/[18:33] 연산 기능 만들기/[19:03] 각각의 블록 정렬하기/[20:15] 덧셈 버튼의 기능/[21:03] 어떤 연산을 수행할 것인지 operation변수에 저장/[22:07] 더하기라는 문자값을 operation변수에 연결/[22:48] 해당 숫자의 저장된 변수값을 0으로 초기화/[23:33] 하나의 함수로 만들어 동작/[23:56] 다른 연산의 동작 만들기/[24:26] 함수를 만들어 해당 동작 입력/[24:37] 매게변수 추가/[25:06] 각각의 버튼에 함수를 동작할 수 있도록 설정/[26:00] 해당 블록의 내용을 메모 때 Add Comment명령 사용/[27:00] 계산 결과 확인버튼과 계산 결과 초기화버튼 동작/[27:25] 결과값 라벨로 표시/[28:21] 조건문 사용/[28:51] 문자열 비교 compare texts블록 사용/[29:25] 블록을 복사해서 각각의 값만 변경/[30:30] 결과를 표시하는 버튼 설정/[31:45] 필요한 세터블록과 게터블록으로 덧셈연산 완성/[32:45] 결과를 표시하는 라벨에 해당 변수값 입력/[33:00] 에뮬레이터 확인/[33:28] 결과가 초기화되는 기능 추가/[34:00] result, number, operation변수 초기화/[34:34] 라벨에 표시된 숫자값도 초기화/[34:49] 에뮬레이터 확인/[35:22] 수정버튼 기능 만들기/[36:21] modulo블록 사용/[36:45] 몫의 값이 필요하기 때문에 quotient사용/[37:43] 에뮬레이터 확인

  • 08.44분 숫자 야구 게임 어플리케이션 개발

    앱 인벤터를 사용해서 숫자 야구 게임 어플리케이션을 개발합니다.

    책갈피 : [00:05] 야구게임 어플리케이션 만들기/[00:52] 어플리케이션 UI설명/[01:53] 여러 블록에서 공통으로 사용하기위한 전역변수 선언/[02:49] 정답에 해당하는 세자리 숫자 생성/[03:00] 난수 생성 기능/[03:30] 난수값 생성을 하는 random integer from to블록 사용/[04:14] 정답을 생성하는 기능이 필요한 경우/[04:59] 어플리 케이션 처음 실행할 때의 동작 Initialize라는 이벤트블록 사용/[05:30] 리셋 버튼을 클릭했을 때의 동작/[06:00] 힌트버튼을 눌렀을 때 생성된 정답값 표시/[06:29] 문자열을 합치는 기능의 join블록 사용/[07:25] 에뮬레이터 확인/[08:22] 힌트버튼의 동작 변경/[09:03] if then의 조건문 사용/[09:46] 참일 경우 힌트값 라벨로 표시/[10:03] visible을 설정할 수 있는 세터블록 연결/[10:33] if조건이 거짓일 경우의 도작/[12:03] 에뮬레이터 확인/[13:00] input버튼을 눌렀을 경우 정답과 비교한 결과를 표시한 부분/[13:22] 예외부분 만들기/[14:03] 경고 팝업창/[14:48] 조건 입력/[15:13] 숫자인지 확인하는 블록 사용/[15:41] 문자열의 길이를 확인하는 length블록 사용/[17:03] and연산 사용/[17:48] 해당 조건이 거짓일 경우에 경고창을 띄우도록 설정/[18:15] 에뮬레이터 확인/[18:55] 입력한 숫자와 정답과 비교하는 부분/[19:37] 문자열을 입력받아 각각의 자리수에 맞도록 분리하는 부분 만들기/[19:55] 문자열 분리를 위해 segment블록 사용/[20:47] 첫번째 숫자 추출/[21:06] 지역변수 생성/[21:37] 저장된 digit변수값과 첫번째 숫자의 정답과 비교/[22:11] Logic이 아닌 Math의 비교블록 사용/[22:56] 조건문 만들기/[23:48] 조건이 맞았을 때의 동작/[24:41] 증가를 위해 Math의 더하기블록 사용/[25:51] 볼과 아웃 조건 입력/[26:15] 볼인 경우의 조건을 만들기위해 else if사용/[27:55] 세번째 정답과 비교하는 부분/[28:22] else if를 사용해 조건 추가 생성/[29:40] 아웃인 경우의 조건을 만들기위해 else사용/[30:18] 블록을 복사해 변수를 아웃으로 변경/[31:11] 전체 블록을 복사하여 값만 변경하여 조건 만들기/[32:37] 전역변수의 경우 변수 이름이 달라야 사용/[34:06] 스트라이크, 볼, 아웃값을 라벨로 표시/[34:52] 3개의 전역변수 0으로 초기화/[36:15] 에뮬레이터를 통해 야구게임 실행/[37:30] 프로그램의 오류 살펴보기/[38:50] 조건문의 순서 변경/[39:59] 에뮬레이터 확인/[40:22] 자리수별로 비교한 부분 함수로 만들기/[41:07] Procedures블록을 사용해 함수 만들기/[42:22] 함수를 차례대로 호출/[43:42] 블록 배열

  • 09.42분 영단어 학습 어플리케이션 개발

    앱 인벤터를 사용해서 영단어 학습 어플리케이션을 개발합니다.

    책갈피 : [00:06] 영단어 학습 어플리케이션 만들기/[00:33] 각각의 기능의 세부 UI는 해당 버튼을 눌렀을 경우에 표시/[00:49] 레이아웃 컴포넌트 활용/[01:26] 레이아웃 컴포넌트의 초기 상태는 hidden으로 설정/[02:00] 영단어 추가 기능 블록으로 만들기/[02:45] 2개의 리스트에 해당하는 전역변수 생성/[03:05] create empty list블록 사용해서 리스트 생성/[03:23] 영단어 추가 버튼을 눌렀을 때 기능/[03:42] visible속성을 참값으로 설정/[04:15] 단어와 뜻을 입력하고 단어를 리스트에 추가하는 기능/[04:46] add items to list블록 사용/[05:45] 단어 검색 버튼을 눌렀을 때 기능/[06:10] 해당하는 아이템값을 라벨로 표시/[06:46] select list item과 index in list블록 조합해서 사용/[07:46] 텍스트박스를 통해 찾을 단어 입력/[08:11] 결과를 보여주는 라벨에 뜻 표시/[08:28] 찾고자 하는 단어가 없을 경우 처리의 조건문/[09:05] 리스트안에 특정 값이 있는지 확인하는 블록 사용/[09:56] 단어가 없을 경우 경고창 띄우기/[10:39] 에뮬레이터 확인/[11:58] 영단어 출력 버튼의 기능/[13:00] 단어 리스트를 출력할 수 있는 UI만 보이도록 설정/[13:41] 리스트의 값 라벨로 표시/[13:54] word와 meaning의 텍스트값/[14:20] 리스트를 하나씩 확인하는 for each item in list블록 사용/[14:35] 단어리스트 확인/[15:00] 문자열을 합치기위해 join블록 사용/[15:16] 지역변수 생성/[16:18] 줄을 바꿀 수 있는 문자 추가/[17:41] 에뮬레이터 확인/[18:55] 단어 리스트와 동일한 방법으로 뜻 리스트 동작 설정/[19:36] 에뮬레이터 확인/[19:52] 영단어 퀴즈 버튼의 기능/[21:02] 퀴즈에 관련된 레이아웃만 보이게 설정/[21:26] 퀴즈의 기능 만들기/[21:56] 내부에서 사용하는 지역변수 선언/[22:41] 빈 리스트로 초기화/[23:22] 문제와 정답을 저장할 변수 만들기/[23:56] 랜덤으로 정답의 위치를 정하기 위해 지역변수 선언/[25:07] pick a random item블록 사용/[26:11] index in list thing블록 사용/[26:44] 문제와 보기를 표시하는 기능을 위해 함수 생성/[28:29] 정답에 해당하는 아이템 후보리스트에서 제외/[28:41] remove블록 사용/[29:15] 함수 내에서 변수 사용/[30:30] 3개의 보기 임의로 생성/[30:41] 반복문 사용/[31:44] 랜덤으로 선택된 보기를 저장할 지역변수 만들기/[32:13] 리스트에 아이템 추가/[33:52] 정답 보기리스트에 입력/[34:52] 특정 위치에 아이템 삽입/[36:15] 문제를 화면에 표시하는 함수 생성/[37:04] 문자열 라벨로 표시/[38:52] select list item블록 연결/[40:23] 보기 사이의 간격을 띄우기 위한 문자열 추가/[41:00] 에뮬레이터 확인

  • 10.38분 저장 공간과 데이터 베이스

    앱 인벤터에서 로컬 및 온라인으로 데이터를 저장하는 방법을 익힙니다.

    책갈피 : [00:06] 영단어 학습 어플리케이션 완성/[00:31] 정답 확인, 다음 문제, 학습 통계의 버튼 동작 기능/[01:19] 추가한 3개의 전역변수/[01:37] 정답 확인을 위한 버튼기능 만들기/[02:15] 맞았는지 틀렸는지 확인하는 기능을 위해 조건문 추가/[02:45] 정답일 경우 팝업창 띄우기/[03:07] Notifier추가 후 ShowAlert블록 사용/[03:46] 정답이 아닌 경우를 위한 else문 추가/[04:30] 임의로 생성한 정답보기를 정답 변수에 입력/[05:15] 다음 문제 버튼의 기능/[06:00] 학습 통계 버튼의 기능/[06:30] 문자열 하나로 연결해서 라벨로 입력/[07:11] 에뮬레이터 확인/[08:24] 입력한 자료를 영구적으로 저장하는 방법/[09:31] Storage항목의 컴포넌트/[09:46] File/[10:11] 블록으로만 기능 제공/[10:22] 파일에 데이터를 저장하고 불러오는 버튼 추가/[11:05] 파일 저장, 파일 읽기의 버튼 생성/[11:31] File컴포넌트의 지원 블록/[12:01] 저장하는 기능을 위한 블록 삽입/[12:37] file컴포넌트는 문자열만 저장 가능/[12:56] 프린트 블록 확인/[13:58] 전역변수 생성/[14:24] 화면 출력을 위해 저장되었던 문자열이 파일로 저장/[14:41] 파일을 읽을 수 있는 기능을 위해 ReadFrom블록 사용/[15:22] file컴포넌트의 GotText이벤트블록 사용/[16:14] 단어를 표시하는 라벨과 텍스트 문자열 값과 연결/[16:25] 에뮬레이터 확인/[17:03] 에뮬레이터 재실행 확인/[18:02] 리스트 저장 방법 실습/[18:11] TinyDB 컴포넌트/[18:37] 여러 기능의 블록/[18:48] tag의 개념/[19:41] GetTags블록/[20:32] 저장된 데이터를 TinyDB로 읽어 리스트로 저장하는 기능 추가/[21:06] DB 저장 버튼의 기능/[21:32] 저장할 데이터의 tag지정/[22:33] DB 읽기 버튼의 기능/[22:55] tag이름 동일하게 지정/[24:26] DB에서 리스트로 읽기 위해 각각의 리스트 비우기/[24:52] 에뮬레이터 확인/[25:56] 프로그램이 초기화될 때 이벤트 블록 사용/[26:26] 애뮬레이터 재실행/[27:26] 외부에 인터넷을 통해 저장하는 방법/[27:52] TinyWebDB 컴포넌트/[28:48] upload버튼의 기능/[29:11] TinyWebDB 컴포넌트에서 제공하는 블록/[30:48] 자료를 저장할 수 있는 블록 사용/[31:26] 네트워크 전송상태 확인을 위해 라벨 추가/[31:56] 업로드가 완료될 경우 발생하는 이벤트블록/[32:21] 다운로드기능 추가/[32:43] TinyDB와 다른점/[33:12] tagFromWebDB변수/[33:52] 하나 이상의 tag를 가지고있는 데이터를 동시에 받을 경우/[34:21] 리스트를 담고있는 2개의 변수에 각각 따로 저장/[34:49] 문자열을 비교하는 compare블록 사용/[35:51] 데이터는 tag를 통해 확인/[36:50] 에뮬레이터 확인

  • 11.46분 그래픽 도구

    앱 인벤터에서 캔버스 컴포넌트를 사용해서 점과 선을 그리는 방법을 익힙니다.

    책갈피 : [00:05] 캔버스 컴포넌트 실습/[00:36] Drawing and Animation/[00:53] 캔버스 컴포넌트의 속성/[01:19] 레이아웃 컴포넌트를 이용해서 캔버스 컴포넌트 위치 변경/[02:12] 점을 찍을 수 있는 기능/[02:53] Canvas컴포넌트의 블록/[03:20] Touched 이벤트블록 사용/[03:51] DrawPoint 메소드블록 사용/[04:27] x, y의 좌표 영역/[05:24] 좌표값을 읽기위한 라벨 추가/[06:00] 에뮬레이터 확인/[06:28] 캔버스 배경색 변경/[06:46] 좌표값 표시와 점찍기 버튼의 기능/[07:14] 문자열을 합치는 join블록 사용/[07:39] 전역변수 생성/[08:22] 조건문을 추가해 해당 값이 1일 때만 점을 찍도록 설정/[08:52] 에뮬레이터 확인/[09:26] 점의 색상을 바꾸는 기능/[09:43] 색상 각각의 버튼 추가/[10:26] 각각의 버튼을 클릭했을 때의 기능/[11:09] 동일한 기능의 작업은 복사해서 사용/[11:39] 에뮬레이터 확인/[12:03] 배경색도 원하는 색상으로 변경/[12:22] 점의 크기를 바꾸는 기능/[12:39] DrawCircle 메소드블록 사용/[13:11] r값은 사용자 입력값 사용/[14:03] Slider컴포넌트 사용/[14:35] 속성값 설정/[15:35] slider 실제값을 사용자가 확인할 수 있게 라벨 추가/[16:02] 에뮬레이터 확인/[16:37] 캔버스에 글자를 표시할 수 있도록 설정/[17:26] 수직 레이아웃 컴포넌트에 점찍기에 관련된 UI 하나로 묶기/[17:45] 텍스트 컴포넌트도 레이아웃을 이용해 그룹화/[18:11] 해당 버튼을 누를 때 해당 레이아웃 표시/[19:11] function전역변수 값 2로 변경/[19:36] 조건문을 추가해 텍스트기능 설정/[19:56] DrawText 메소드블록 사용/[20:32] 에뮬레이터 확인/[21:36] 되돌리기 기능/[21:52] 점을 찍을 때에만 되돌리기 기능 수행/[22:22] 2개의 리스트변수 초기화/[23:33] 점을 찍었을 때 동작에 리스트를 추가하기 위한 블록 추가/[24:00] x리스트와 y리스트값 입력/[24:48] 되돌리기 버튼을 눌렀을 때의 동작/[25:18] select블록 사용/[26:15] 점의 색을 배경색으로 설정하는 이유/[27:25] 되돌리기 기능 후 점의 색을 원래 색으로 복구하는 기능/[28:51] remove블록 사용/[29:33] 해당 인덱스 값을 빼주는 기능/[30:00] 에뮬레이터 확인/[31:02] 되돌리기를 했을 때 에러가 발생하는 이유/[31:26] 오류를 막기위한 조건문/[32:00] 선그리기 기능 추가/[32:22] DrawLine 메소드블록 사용/[33:13] Dragged 이벤트블록 사용/[33:50] 방사형으로 선그리기/[35:36] 해당값 조건문을 통해 확인/[36:21] 에뮬레이터 확인/[37:06] 연속형으로 선그리기/[37:45] 에뮬레이터 확인/[38:19] 캔버스에 그린 점,선,글자를 한번에 지우는 기능/[38:43] Clear 메소드블록 사용/[39:22] 캔버스에 그린 그림을 저장하고 불러오는 기능/[40:12] 경로를 표시할 수 있는 라벨 추가/[40:30] 저장버튼을 눌렀을 때의 동작/[40:52] SaveAs 메소드블록 사용/[41:22] 파일 불러오기 버튼을 눌렀을 때의 동작/[42:15] file버튼을 클릭했을 때 해당 레이아웃 보여주기/[43:12] 에뮬레이터 확인/[44:38] 문자열 합치기 블록 사용

  • 12.43분 애니메이션 도구

    앱 인벤터에서 제공하는 애니메이션 컴포넌트를 사용해서 블록 격파 게임을 만들어 봅니다.

    책갈피 : [00:05] 애니메이션 관련 컴포넌트 사용/[00:23] Canvas컴포넌트 내에서 사용/[01:19] Ball컴포넌트 사용/[01:38] 속성값 변경/[02:12] interval과 speed속성/[03:00] Heading속성값/[03:35] 에뮬레이터 실행/[04:15] 볼 컴포넌트가 캔버스 영역 끝에 도달했을 때의 동작/[04:42] EdgeReached 이벤트블록 사용/[05:30] Bounce 메소드블록 사용/[06:00] 에뮬레이터 실행/[06:54] ImageSprite컴포넌트 사용/[07:55] 속도 지정/[08:11] ImageSprite컴포넌트를 마우스 드래그 방향으로 움직이도록 만들기/[08:28] Dragged 이벤트블록 사용/[08:52] MoveTo 메소드블록 사용/[09:09] 에뮬레이터 확인/[10:11] 2개의 애니메이션 객체가 부딪쳤을 때의 동작/[10:39] CollidedWith블록 사용/[11:01] 볼 컴포넌트가 부딪쳤을 때의 동작/[11:56] Bounce 메소드블록 추가/[12:39] 에뮬레이터 확인/[13:09] 볼 컴포넌트가 캔버스 바닥에 부딪쳤을 때의 동작/[13:37] edge값을 확인할 조건문/[14:46] 볼이 멈췄을 때 마우스로 클릭해서 움직이게 만드는 기능/[15:37] 에뮬레이터 확인/[16:07] 버튼을 만들어 버튼에 움직이는 기능 추가/[16:59] 버튼을 눌렀을 때의 기능/[17:21] ImageSprite의 위치를 읽기위해 x, y 게터블록 사용/[17:56] MoveTo 메소드블록 사용/[19:52] 예외처리/[21:11] 크기를 비교하는 블록 사용/[22:37] 에뮬레이터 확인/[23:07] bar모양의 이미지를 추가해서 기능 추가/[24:02] 컴포넌트를 구분하기 위해 이름 변경/[24:37] 어떤 객체와 부딪쳤는지 확인을 위한 조건문 추가/[25:25] 비교를 위해 비교블록 사용/[26:11] enermy컴포넌트를 새로운 위치로 옮기기 위해 MoveTo블록 사용/[26:33] 랜덤함수 사용/[27:03] 에뮬레이터 확인/[27:37] 점수 계산 추가/[28:07] 라벨을 2개 추가해 score와 life표시/[28:30] 점수가 증가하고 life값이 줄어드는 기능/[28:44] 2개의 전역변수 추가/[29:07] score증가 기능/[29:56] life값 줄이는 기능/[30:36] 에뮬레이터 확인/[31:11] 게임오버 팝업창으로 띄우기/[31:22] Notifier컴포넌트 추가/[31:55] 플레이어 개수가 0보다 작거나 같으면 팝업창 띄우기/[32:50] 점수가 늘어나면 난이도를 위해 볼의 속도 증가시키기/[33:20] 속도를 높이는 조건 만들기/[33:52] modulo연산 사용/[35:00] 에뮬레이터 확인/[35:49] 게임오버가 됐을 때 속도 다시 초기화/[36:15] 에뮬레이터 확인/[36:52] 하이스코어 저장하는 기능/[37:19] 변수 선언/[37:58] 스코어가 증가하면 조건문 추가/[38:30] 바뀐 하이스코어값 라벨로 표시/[39:15] 하이스코어값을 영구적으로 보관하고 어플리케이션 실행 때마다 표시/[39:34] TinyDB컴포넌트 사용/[40:05] tag값 추가/[40:27] 초기화를 했을 때의 이벤트블록 사용/[41:14] 에뮬레이터 실행/[41:42] 초기화 하기위한 0값으로 표시/[42:05] 에뮬레이터 확인/[42:44] 어플리케이션을 재실행 시켰을 경우

  • 13.47분 타이머 이벤트 part1

    앱 인벤터에서 제공하는 클럭 컴포넌트를 사용해서 타이머 이벤트를 발생시킵니다.

    책갈피 : [00:00] Timer 컴포넌트를 활용한 애니메이션/[00:34] Ball 컴포넌트/[00:57] Clock 삽입/[01:27] Clock 컴포넌트 속성 설정/[01:40] TimerEnabled/[01:47] TimerInterval/[02:03] Ball 컴포넌트 동작 설정/[02:23] Ball 컴포넌트 위치 설정/[02:56] 좌표값 설정/[03:13] Timer 속성 블럭 삽입/[03:23] Timer 속도 설정/[03:57] Timer 이벤트 블록/[04:23] MoveTo/[04:30] 좌표값 설정/[05:42] Stop 버튼 눌렀을때 동작 멈추기/[06:06] TimerEnabled/[06:18] 에뮬레이터 확인/[07:23] Ball이 점으로 된 경로를 따라가는 애니메이션 만들기/[08:29] Clock 컴포넌트 속성 설정/[08:44] 좌표값 저장 리스트 초기화/[09:09] Index 변수 선언/[09:30] Touched 이벤트 블록을 이용한 점 색상 설정/[09:49] DrawCircle/[10:08] 죄표값 리스트에 넣기/[10:33] Index 값 증가/[10:50] 점 색깔 설정/[10:59] 되돌리기 버튼 기능 구현/[11:08] 조건문 (if)/[11:59] Canvas 배경색 변경/[12:24] 좌표값 제거(Remove)/[12:42] Path index 변수 감소/[13:08] Timer를 이용한 점 연결하기/[13:44] Move index 변수 추가/[14:16] start 버튼을 눌렀을때 타이머 동작 설정/[14:56] Clock 컴포넌트에 타이머가 동작 설정/[15:18] Ball 컴포넌트 위치 설정/[16:10] Move index 값 증가/[16:43] Move index 조건 추가/[17:25] else문 추가 후 Timer 비활성화/[17:41] 에뮬레이터 확인/[18:48] Ball 위치값 수정/[19:16] 뺄셈 블록 추가/[19:43] 에뮬레이터 확인/[19:55] Undo 기능/[20:15] 교통 시뮬레이션 어플리케이션 제작/[20:56] Media 추가/[21:14] ImageSprite 컴포넌트 지정/[21:32] 컴포넌트 이름 변경/[21:39] 자동차의 크기와 시작 위치 설정/[22:47] ImageSprite 컴포넌트 추가/[22:58] 횡단보도의 크기와 시작 위치 설정/[22:28] 선그리기 블록을 이용한 도로 그리기/[23:58] Initialize 블록 삽입/[24:12] 에뮬레이터 확인/[24:33] ImageSprite 컴포넌트 이동 설정/[24:52] 자동차 속도 각각 지정하기/[25:33] 에뮬레이터 확인/[25:53] 연속적으로 자동차가 움직이도록 만들기/[26:11] EdgeReached 블록을 이용해 도달한 위치 확인/[26:32] 조건문 추가/[27:33] 에뮬레이터 학인 /[27:52] 신호등 만들기/[28:22] DrawCircle 블록으로 원 그리기/[29:22] 좌표값과 원의 반지름 지정/[29:42] PaintColor 블록으로 신호등 색상 지정/[30:02] 에뮬레이터 확인/[30:11] 시작 버튼을 누르면 신호등 동작시키기/[30:40] 신호등에 빨간 램프 동작시키기/[31:58] 노란 램프, 녹색 램프로 변경/[34:15] 함수 생성 후 모듈화/[35:05] 함수 내부 추가/[38:52] 에뮬레이터 확인/[39:30] 신호등이 노란색, 녹색불일때 자동차 정지 설정/[40:24] CollidedWith 블록으로 충돌 감지/[46:18] 에뮬레이터 확인

  • 14.49분 타이머 이벤트 part2

    앱 인벤터에서 제공하는 클럭 컴포넌트를 사용해서 스탑워치 어플리케이션을 만듭니다.

    책갈피 : [00:00] 스탑워치 어플리케이션 만들기/[00:08] UI 구성 살펴보기/[01:23] Colck 컴포넌트 추가/[01:38] Colck 컴포넌트 동작 설정/[02:13] 시작 버튼을 눌렀을때 스탑워치 동작 시작/[02:40] 멈춤 버튼을 눌렀을때 스탑워치 동작 중지/[03:01] 타이머가 동작될때 세부동작 설정/[03:23] 전역변수 선언 /[04:01] msec 설정하는 이유/[05:05] msec 증가시키기/[05:40] 조건 추가하기/[06:45] sec 증가시키기/[07:14] 조건이 거짓인 경우 라벨로 표시하기/[07:57] msec 초기화 될 경우 라벨로 표시하기/[08:24] sec 초기화 될 경우 라벨로 표시하기/[10:11] 한자리 숫자일 경우 두자리로 표시되도록 설정/[11:40] 문자열을 합쳐주는 join 블록/[12:08] 60분이 되면 시간을 증가시켜주기/[13:49] 0으로 초기화될때 라벨로 표시하기/[14:50] 조건문 추가/[17:19] 리셋 버튼을 눌렀을때 스탑워치 초기화/[17:45] 라벨값을 0으로 표시하기/[18:25] 에뮬레이터 확인/[19:32] LAP 버튼을 눌렀을때 LAP time 표시하기/[20:23] 시간과 시간 사이의 차이값 구하기/[20:43] 함수 추가/[21:33] 하나의 시간 단위로 환산하기/[22:38] 전체 시간 계산 시 주의해야할 점/[25:22] 범용적 사용할 수 있는 함수 생성/[25:48] 변수 추가/[26:58] LAP 버튼을 눌렀을때/[27:29] 전역변수 추가/[28:05] 블록 내에서 사용할 지역변수 추가/[28:37] 현재 시간 저장하기/[28:51] Procedure 블록/[30:02] delta time 블록/[30:48] 현재 시간을 last time에 저장/[33:15] 구한 시간을 라벨로 표시하기/[34:00] 결과를 내보낼 수 있는 블록/[34:44] 입력받은 값을 시간으로 변경하기/[35:08] remainder 블록 사용/[36:24] 몇분인지 확인할 수 있는 함수 추가/[37:06] remainder 블록 사용/[37:41] quotient 블록 사용/[38:12] 몇초인지 확인할 수 있는 함수 추가/[38:42] remainder 블록 사용/[39:14] quotient 블록 사용/[40:24] 밀리초를 확인할 수 있는 함수 추가/[40:47] remainder 블록 사용/[41:50] 쪼갠 시간을 라벨로 표시하는데 사용하기/[42:25] laptime 표시할 함수 추가/[43:00] 문자열을 합치는 블록 사용 (join)/[43:44] 해당하는 함수의 입력변수 추가/[44:23] 문자열 변수를 라벨로 표시하기/[44:38] LAP 버튼을 눌렀을때 확인/[45:22] 변환함수 연결하기/[45:42] delta time 값 입력/[46:10] 에뮬레이터 확인/[46:58] split 버튼을 눌렀을때 현재시간 표시하기/[47:33] 표시되는 라벨 변경하기/[47:52] 입력받은 값을 현재시간으로 넣어주기/[48:25] 에뮬레이터 확인

  • 15.47분 타이머 이벤트 part3

    앱 인벤터에서 제공하는 클럭 컴포넌트를 사용해서 시계 어플리케이션을 만듭니다.

    책갈피 : [00:00] 시계 및 알람 어플리케이션 만들기/[00:10] 전체적인 구성 살펴보기/[00:20] 라벨 속성/[00:44] 시계 구성 살펴보기/[01:30] TimePicker 컴포넌트/[02:15] 전역변수 선언/[02:51] AfterTimeSet 블록으로 시간과 분 입력받기/[04:03] 고친 시간을 라벨로 표시하기/[05:15] 콜론 입력하기/[06:07] AM, PM 표시 구분하기/[07:09] 12시간제로 표시하기/[08:33] 시계를 움직이게 설정하기/[09:27] 타이머가 동작될때 시계가 움직이는 기능/[10:27] 시간을 변경하는 블록/[11:28] 시계를 라벨로 표시하기/[12:00] 에뮬레이터 확인/[13:06] 현재 시간을 바로 표시하기/[13:23] Colck 컴포넌트 추가/[14:33] 시간을 출력하는 함수/[15:24] Now 블록/[15:42] 변경된 시간으로 계속 동작시키기/[16:25] 에뮬레이터 확인/[16:55] 알람 기능 추가하기/[17:49] 설정된 알람 시간을 저장하는 변수 추가/[18:13] 알람시간을 라벨로 표시하기/[19:45] 현재 시간과 비교해서 알람 동작 여부 파악/[20:26] 시간을 비교하는 기능 구현/[21:28] And 블록을 이용한 모두가 참인 블록 설정/[22:49] on일 경우에만 동작하도록 기능 구현하기/[23:44] 알람이 켜진것을 확인하기 위해 깜빡거리는 효과주기/[24:28] 캔버스 색상 변경하기/[25:32] 조건문 추가/[25:41] modulo 연산/[26:26] 캔버스 배경색 설정/[28:04] 알람 타이머 동작 설정/[28:41] 0보다 클 경우에만 동작하도록 설정/[29:41] 알람 타이머 동작 중지/[30:19] 알람 시간을 나타내는 라벨 표시/[31:04] 에뮬레이터 확인/[32:05] 타이머 기능 추가하기/[33:05] 타이머 스타트 버튼을 눌렀을때 설정/[33:22] 전역변수 선언/[34:11] Clock 컴포넌트 추가/[34:51] 타이머 동작 만들기/[37:04] 타이머 완료 조건 추가/[37:45] And 블록을 이용한 모두가 참인 블록 설정/[38:26] 타이머 완료 표시 (Notifier 컴포넌트)/[39:14] 타이머 동작 중지/[39:39] 타이머 라벨로 표시하기/[41:12] 에뮬레이터 확인/[42:50] Clock 컴포넌트 부가기능1/[43:25] 일정한 형식을 갖춘 현재시간 표시/[44:37] 일정한 형식을 갖춘 현재날짜 표시/[45:11] 에뮬레이터 확인/[45:36] Clock 컴포넌트 부가기능2

  • 16.47분 연락처 관리

    앱 인벤터에서 제공하는 전화 관련 컴포넌트를 사용해서 연락처 어플리케이션을 만듭니다.

    책갈피 : [00:00] 전화관련 컴포넌트/[00:36] UI 구성 살펴보기/[00:53] 컴포넌트 이름 변경/[01:11] PhoneNumberPicker 컴포넌트/[02:01] ListPicker 컴포넌트/[02:33] 즐겨찾기 추가 버튼 기능 구현/[02:45] 전역변수 선언/[03:00] Lists 블록 추가/[03:30] PhoneNumberPicker 컴포넌트 추가된 기능/[03:50] PhoneNumberPicker 컴포넌트 속성 블록/[04:05] AfterPicking 이벤트 블록 추가/[04:27] 리스트에 아이템 추가하기/[04:50] ContactName과 PhoneNumber 블록/[05:28] 조건 블록 추가/[05:37] 리스트에 연락처 정보가 있는지 확인/[06:12] 리스트에 이름이 있는지 확인/[06:32] Notifier 컴포넌트 경고 메세지 넣기/[06:59] 에뮬레이터 확인/[08:45] 주소록에 연락처 추가하는 방법/[09:55] 에뮬레이터 재실행하기/[10:20] 즐겨찾기 삭제 버튼 기능 구현/[11:07] 리스트에 표시될 내용 정의/[11:16] BeforePicking 이벤트 블록 추가/[11:25] 이름을 리스트로 표시할 수 있도록 정의/[12:15] 에뮬레이터 확인/[13:16] 즐겨찾기 리스트에서 삭제하는 기능/[13:30] AfterPicking 이벤트 블록 추가/[13:38] Remove 블록 추가/[14:10] SelectionIndex 블록으로 특정 위치 지정/[15:22] 에뮬레이터 확인/[16:21] 즐겨찾기 버튼 추가/[16:46] AfterPicking 이벤트 블록 추가/[17:10] 이름을 리스트로 표시할 수 있도록 정의/[17:29] ShowFilterBar 블록으로 이름 검색/[17:55] 특정 연락처를 선택했을때 전화걸기 기능/[18:15] PhoneCall 컴포넌트/[18:59] 전화번호 정보를 담고 있는 변수 추가/[19:30] 즐겨찾기에서 전화번호 추출하기/[21:02] Make PhoneCall 블록 추가/[21:15] 전화번호 속성 변경/[21:40] 에뮬레이터 확인/[22:27] 최근 통화 버튼 기능 구현/[22:49] 전화통화 정보를 저장할 변수 추가/[23:06] 최근통화 버튼을 눌렀을때 통화목록 표시하기/[23:37] 최근 통화목록을 저장하고 있는 리스트를 엘리먼트로 저장/[23:51] 전화번호 정보를 이용한 전화걸기/[25:03] 전화를 걸때마다 최근통화 리스트에 전화번호 추가하기/[26:40] 에뮬레이터 확인/[28:11] 전화 통계 버튼 기능 구현/[28:29] 전역변수 선언/[29:12] 전화번호 통화 횟수 증가 함수 추가/[30:53] 리스트에 통화한 번호 추가/[31:50] 지역 변수 추가해서 통화 횟수 증가/[32:25] Select list item 블록/[33:07] index in list 블록으로 해당하는 위치 찾기/[34:50] replace list item 블록으로 통화 횟수 값 바꾸기/[36:40] 함수 호출하는 부분 생성/[37:10] 전화통계 버튼을 눌렀을때 통화 횟수 라벨로 표시하기/[38:04] for each item in list 블록/[39:10] join 블록/[40:18] Select list item 블록/[42:42] 줄바꿈 기능 블록/[43:00] 라벨 텍스트 연결

  • .50분 17강.네트워크 도구 part1

    앱 인벤터에서 제공하는 WebViewer 컴포넌트를 사용해서 웹 브라우저 어플리케이션을 만들고 ActivityStarter 컴포넌트를 사용해서 다른 어플리케이션들과 데이터를 교환하도록 합니다.

    책갈피 : [00:00] WebViewer 컴포넌트/[00:46] WebViewer 컴포넌트 속성/[00:57] UI 구성 살펴보기/[03:03] WebViewer 컴포넌트 기능 살펴보기/[03:35] 속성 블록 살펴보기/[03:59] 인터넷 브라우저 만들기/[04:07] 주소 입력하기/[04:40] 버튼을 눌렀을때 이전페이지로 갈 수 있는 메소드 블록/[04:52] 버튼을 눌렀을때 다음페이지로 갈 수 있는 메소드 블록/[05:09] 버튼을 눌렀을때 시작페이지로 갈 수 있는 메소드 블록/[05:23] 어플리케이션이 시작됐을때 시작페이지 설정/[06:15] 이전페이지 이동이 불가능할때 경고 메세지 띄우기/[06:44] CanGoBack 블록/[07:05] 조건문 추가/[07:37] 다음페이지 이동이 불가능할때 경고 메세지 띄우기/[07:59] 북마크 버튼을 눌렀을때 저장된 내용을 리스트로 표시하기/[08:29] BeforePicking 이벤트 블록 추가/[08:41] 변수 생성/[09:11] 표시될 아이템으로 설정하기/[09:38] 특정 북마크를 선택했을때 다음 동작 설정하기/[10:10] Select list item 블록/[10:52] 북마크에 저장될 페이지 설정/[11:14] 현재 페이지의 주소값과 해당 페이지의 이름 확인/[11:52] add item to list/[12:20] 중복되었는지 확인 후 경고 메세지 띄우기/[13:15] 조건문 추가/[13:27] 참을 거짓으로, 거짓을 참으로 변경하기 (not 블록)/[14:02] 홈페이지가 추가됐을 경우 메세지 표시하기/[14:26] 에뮬레이터 확인/[16:21] 검색 기능 구현/[16:40] Spinner 컴포넌트/[17:20] Spinner 컴포넌트 기능 살펴보기/[17:52] 속성 블록 살펴보기/[18:50] 검색 엔진 리스트 저장 및 변수 선언/[19:02] 검색 버튼을 눌렀을때의 동작 설정/[19:20] 홈페이지로 이동할 주소 만들기/[19:46] join 블록/[20:18] 변수 선언/[20:47] 검색 엔진 리스트 초기화/[22:01] 리스트 값 추가 (make a list 블록)/[23:04] 문자열 변수 입력/[23:22] 선택한 검색엔진에 따른 검색 주소 만들기/[24:01] 조건문 추가/[24:21] 문자열 비교(compare texts 블록)/[25:23] 검색엔진 주소값 확인/[26:15] 에뮬레이터 확인/[27:12] ActivityStarter 컴포넌트/[28:05] UI 구성 살펴보기/[29:49] ActivityStarterCALL 컴포넌트/[29:59] ActivityStarterCALL 속성/[31:26] Action 값 설정/[32:08] DataUri/[32:39] ActivityStarterCALL 기능 살펴보기/[33:12] 속성 블록 살펴보기/[33:30] 전화번호와 미리 약속된 문구 입력/[34:22] StartActivity/[34:40] 에뮬레이터 확인/[35:05] 약속된 문구/[35:21] WebViewer를 눌렀을때 DataURI 값 설정/[37:24] ActivityStarterBrowser 속성/[38:02] Action 값 설정/[38:38] 에뮬레이터 확인/[38:59] 구글맵 어플리케이션 실행/[39:22] ActivityStarter_MAP 속성/[39:50] Action 값 설정/[40:04] Class 정보와 Package 정보/[41:45] DataUri/[42:02] 검색버튼을 눌렀을때 동작 설정/[42:25] 미리 약속된 문구 입력/[42:53] join 블록으로 문자열 합치기/[44:25] 에뮬레이터 확인/[44:57] ActivityStarterEmail/[45:15] ActivityStarterEmail 속성/[45:39] EmailPicker/[46:18] DataUri/[46:49] join 블록으로 문자열 합치기/[48:32] 에뮬레이터 확인

  • 18.49분 네트워크 도구 part2

    앱 인벤터에서 제공하는 Web 컴포넌트를 사용해서 인터넷에서 주식 정보 및 뉴스 정보를 받아 표시하도록 합니다.

    책갈피 : [00:00] 안드로이드 개발자 페이지/[01:10] 예제 확인/[01:57] Library/[02:16] 컴포넌트 속성 설명/[03:32] Web 컴포넌트를 사용해서 인터넷에서 주식 정보 표시하기/[03:45] UI 구성 살펴보기/[04:38] 라벨 속성/[05:00] Web 컴포넌트와 Clock 컴포넌트 삽입/[05:33] 갱신 버튼을 클릭했을때, 어플리케이션이 처음 시작됐을때, 타이머가 동작됐을때 구현/[06:03] 함수 생성/[06:23] 타이머 초기화/[07:02] 시간 단위 변환/[07:29] 타이머 켜기/[08:06] 갱신버튼을 누를때 갱신 주기 변경하기/[08:23] 주식정보가 갱신됐을때 동작 설정/[08:30] 갱신된 시간 라벨로 표시하기/[08:46] 현재 시간 표시하기/[09:16] Web 컴포넌트를 활용해 특정 서비스 신청하기/[10:17] Url 값 만들기/[10:22] 문자열 합치기(Join 블록)/[11:01] 주식 품목 값 받기/[11:39] 변수 선언/[12:00] 특정 문자 일괄적으로 변경하기 (replace all 블록)/[12:38] 주식을 표시하는 포맷 입력/[13:50] 웹서비스 요청하기 (Get 블록)/[14:11] 요청된 결과 텍스트로 받기(GetText 블록)/[15:18] 조건문 추가/[15:31] 라벨로 주식정보 표시하기/[15:54] 에러 메세지 출력하기/[16:34] 갱신시간 변경하기/[16:46] 에뮬레이터 확인/[17:23] Web 컴포넌트를 사용해서 인터넷에서 뉴스 정보 표시하기/[18:15] Web 컴포넌트와 Clock 컴포넌트 삽입/[18:28] 함수 생성/[18:53] 타이머 설정/[19:21] 타이머 주기 변경 및 타이머 활성화/[19:30] 뉴스 정보 가져오기/[19:50] 문자열 합치기(join 블록)/[20:22] 카테고리 값 합치기/[20:50] 요청 url 만들기/[21:18] 해당 서비스 요청하기(Get 블록)/[21:31] 뉴스기사 정보 라벨로 표시하기/[21:46] 요청된 결과 텍스트로 받기(GetText 블록)/[22:00] 조건문 추가/[22:38] 에뮬레이터 확인/[23:33] 버튼에 텍스트로 넣어주기/[24:07] 특정 키워드를 기준으로 문자 분류하기/[24:43] 함수 선언/[25:21] 변수 입력값 받기/[25:39] 문자열 변수 선언/[26:05] 결과 변수값 저장하기/[26:11] 문자 분리하기(split 블럭)/[27:54] 분리된 문자를 해당 문자열로 저장하기/[28:25] 조건문을 추가해서 리스트 갯수 확인하기/[28:40] length of list 블록/[29:10] 예외조건 추가/[30:26] 두번째 아이템만 추출하기(select list item 블록)/[31:09] 에뮬레이터 확인/[31:28] 제목만 추출하기/[32:10] 변수 수정하기/[32:56] select list item 블록/[33:28] 문자 분리하기(split 블록)/[34:45] 뉴스에 대한 정보 분리하기/[36:15] 뉴스제목을 버튼에 텍스트 값으로 변경하기/[36:56] 함수의 입력/[38:17] 추출 결과를 버튼 라벨로 넣어주기/[38:45] 함수의 결과를 받는 블록(result 블록)/[40:02] 두번째 분리하기/[40:47] 주소를 저장하는 문자열 변수 선언/[42:15] 주소 내용 추출하기/[42:36] 특정 문자를 일괄적으로 변경하기/[43:33] replace all 블록/[44:53] 주소 저장/[45:30] 두번째 뉴스의 제목과 주소 추출하기/[46:06] 세번째 뉴스의 제목과 주소 추출하기/[46:24] 에뮬레이터 확인/[46:50] 카테고리 변경/[47:10] 실제 버튼을 눌렀을때 웹페이지 내용 표시/[47:32] WebViewer 컴포넌트 삽입/[48:33] 에뮬레이터 확인

  • 19.52분 도서 대여 어플리케이션 part1

    앱 인벤터의 여러 컴포넌트를 종합적으로 사용해서 도서 대여 어플리케이션을 만들도록 합니다.

    책갈피 : [00:00] 도서 대여 어플리케이션 제작/[00:20] UI 구성 살펴보기/[00:55] 메인 메뉴/[01:11] 회원관리 버튼 UI 구성/[01:37] 레이아웃 컴포넌트로 구분해놓은 이유/[02:40] 회원추가 UI 설명/[03:52] 레이아웃 그룹화/[04:09] 회원정보 입력/[04:45] DatePinker 컴포넌트/[04:58] Spinner 컴포넌트/[05:11] ListPicker 컴포넌트/[05:48] 회원삭제 UI 설명/[06:07] 라벨 생성/[06:18] 수평 레이아웃 배치/[07:02] 레이아웃 숨김 여부/[07:42] Designer 화면/[08:06] 회원관리 버튼을 눌렀을때 동작 설정/[08:34] UI 레이아웃 컴포넌트의 숨김, 표시 설정/[09:45] 회원추가, 삭제 버튼의 숨김, 표시 설정/[09:55] 회원추가 버튼을 눌렀을때 숨김, 표시 설정/[10:15] 회원삭제 버튼을 눌렀을때 숨김, 표시 설정/[10:29] 회원추가 버튼을 눌렀을때의 세부 속성/[10:47] Spinner 컴포넌트로 성별 고르기/[11:29] 주소 정보 읽어오기/[11:51] 회원정보 입력 후 회원 추가하기/[12:17] 회원정보를 올바르게 입력했는지 확인하기 위한 함수 선언/[12:32] 회원정보와 관련된 리스트 입력/[13:07] 메세지창 출력/[13:21] 회원의 도여대서 횟수 초기화/[13:57] 회원정보가 잘못되었을때 오류 메세지 출력/[14:40] 전체를 체크하는 함수와 세부사항을 체크하는 함수 생성/[15:07] 세부회원정보 변수 확인/[16:12] 함수를 통해서 나온 결과 변수/[17:00] 이름을 확인하는 함수 /[17:56] 라벨의 색깔 변경/[18:40] 패스워드를 확인하는 함수/[19:18] 라벨의 색깔 변경/[19:25] 이메일을 확인하는 함수/[19:53] 아이디를 확인하는 함수/[21:18] 중복확인 버튼 기능/[21:48] 아이디가 중복 되지 않을 경우/[22:29] 아이디가 중복 될 경우/[24:31] 생일을 확인하는 함수/[25:17] DatePinker 컴포넌트/[26:20] 성별을 확인하는 함수/[26:29] Spinner 컴포넌트/[27:00] 주소를 확인하는 함수/[28:32] 회원정보를 리스트로 추가하는 함수/[30:14] 주소와 성별을 선택할 수 있는 기능 추가/[30:37] DatePinker 컴포넌트/[31:59] Spinner 컴포넌트/[32:17] ListPicker 컴포넌트/[33:54] File 컴포넌트/[36:08] 입력받는 텍스트 정보 사용방법/[36:57] Media 파일 업로드/[38:20] 입력받은 회원정보를 영구적으로 저장/[38:45] TinyDB 컴포넌트/[39:34] 태그값 입력/[39:53] 어플리케이션이 처음 실행됐을때 데이터베이스 불러오기/[40:39] 저장된 DB 정보가 없을때를 처리하기 위해 빈 리스트 생성하기/[41:13] initialize/[41:48] 에뮬레이터 확인/[42:30] 회원정보 입력하기/[45:29] 회원정보 삭제 버튼 기능 구현하기/[45:47] 회원을 검색 버튼을 구현하고 세부정보 표시하기/[48:19] 에뮬레이터 확인/[49:15] 삭제 버튼 기능 구현/[50:59] TinyDB 컴포넌트

  • 20.59분 도서 대여 어플리케이션 part2

    앱 인벤터의 여러 컴포넌트를 종합적으로 사용해서 도서 대여 어플리케이션을 만들도록 합니다.

    책갈피 : [00:07] 대여관리 버튼 기능 구현/[00:39] UI 구성 살펴보기/[01:38] 대여 버튼/[01:50] ListPicker 컴포넌트/[02:01] 반납 버튼/[02:30] 회원관리 버튼에 관련된 내용 숨기기/[03:20] ShowFilterBar/[03:33] 도서 정보를 리스트로 표시하기/[04:21] File 컴포넌트 삽입/[04:54] 텍스트 파일을 리스트로 변환하기/[05:08] 책리스트를 담고 있는 변수 생성/[05:30] LiseView 컴포넌트/[06:00] 특정 도서를 선택했을때 다음 동작 설정/[06:38] 선택한 도서에 대한 정보를 담은 변수 생성/[07:40] 선택한 도서명을 라벨로 표시하기/[08:11] 이미 대여중인 도서를 선택했을때 정보 표시/[09:34] 저장한 정보를 라벨로 표시하기/[09:45] 대여된 정보가 없는 도서를 선택했을때/[10:15] 대여 버튼 구현하기(BeforePicking)/[11:20] AfterPicking/[12:00] 도서를 대여하기 위한 동작 수행/[12:34] 현재 시간을 대여 시작일로 저장/[13:08] 현재 시간을 기준으로 특정 시간이 지난 후를 반납일로 지정/[14:28] Notifier 컴포넌트를 이용해서 선택 메세지창 띄우기/[15:44] 선택한 결과를 담고 있는 Choice/[16:23] 선택한 도서에 대한 정보를 담고 있는 변수 넣기/[16:56] 대여자, 대여일자, 반납일자를 라벨로 표시하기/[17:25] 대여정보를 TinyDB 컴포넌트에 저장하기/[18:11] 어플리케이션이 처음 실행됐을때 데이터베이스 불러오기/[18:46] 대여자에 대한 도서 대여 횟수에 관련된 정보 관리/[19:11] 반납 버튼 구현하기/[19:44] Notifier 컴포넌트를 이용해서 선택 메세지창 띄우기/[20:20] 반납 버튼 클릭시 '예'를 선택했을때 구현/[21:20] 라벨의 텍스트 속성값 초기화/[21:32] 반납정보를 TinyDB 컴포넌트에 저장하기/[22:02] 어플리케이션이 처음 실행됐을때 데이터베이스 불러오기/[22:47] 에뮬레이터 확인/[25:22] 대여이력 버튼 기능 구현/[25:44] UI 구성 살펴보기/[26:17] 대여이력에 관련된 내용만 표시하기/[26:50] 대여정보를 라벨로 표시하는 함수/[27:40] 반복문 추가하기/[28:30] 하나의 라벨에 계속해서 저장하기 위해 문자열 합치기(Join)/[29:56] 에뮬레이터 확인/[30:40] 대여통계 버튼 구현하기/[31:06] UI 구성 살펴보기/[31:52] Canvas 컴포넌트/[32:05] 대여통계에 관련된 내용만 표시하기/[32:30] 그래프를 그리는 함수 불러오기/[33:24] 도여대여 횟수를 추가하는 리스트/[34:35] 회원삭제 버튼 클릭시 도서대여정보 삭제/[35:52] 리스트 변수 업데이트/[36:19] 도서 대여자 위치와 도서대여횟수를 지역변수에 저장하기/[37:04] Relpace 블록으로 도서대여횟수 정보 증가시키기/[37:45] 도서대여횟수 정보를 TinyDB 컴포넌트에 저장하기/[38:48] 도서대여횟수를 그래프로 그리기/[39:18] 도서대여횟수 정보 정렬하기/[39:59] 오름차순 정렬/[40:41] 리스트 변수 복사하기/[41:46] 반복문 추가하기/[42:11] 오름차순 기능 (삽입, 정렬 기능)/[45:24] 반복을 할때마다 임시값 저장/[46:25] 조건이 맞을때까지 반복하는 반복문/[48:08] insert 블록/[48:48] 오름차순과 내림차순의 차이/[49:40] 그래프 그리기/[49:58] 그래프를 그리기 위한 함수/[50:23] x, y 선 그리기/[51:38] 그래프의 축척을 담고 있는 정보에 대한 변수 저장/[53:15] 그래프 배율 구하기/[53:47] y 축 옆에 최대값 표시하기/[54:11] 반복문 추가해서 그래프 그리기/[55:03] 좌표값을 지정해서 막대그래프 그리기/[56:23] 에뮬레이터 확인하기/[58:50] 정렬

앱인벤터강의,앱인벤터강좌,앱인벤터교육,앱인벤터학원,앱인벤터인강,앱인벤터인터넷강의,앱인벤터인터넷강좌,앱인벤터동영상,앱인벤터동영상강의,앱인벤터동영상강좌,앱인벤터배우기,앱인벤터사용법,앱인벤터사용방법,AppInventor강의,AppInventor강좌,AppInventor교육,AppInventor학원,AppInventor인강,AppInventor인터넷강의,AppInventor인터넷강좌,AppInventor동영상,AppInventor동영상강의,AppInventor동영상강좌,AppInventor배우기,AppInventor사용법,AppInventor사용방법,애플리케이션강의,애플리케이션강좌,애플리케이션교육,애플리케이션학원,애플리케이션인강,애플리케이션인터넷강의,애플리케이션인터넷강좌,애플리케이션동영상,애플리케이션동영상강의,애플리케이션동영상강좌,애플리케이션배우기,애플리케이션사용법,애플리케이션사용방법,application강의,application강좌,application교육,application학원,application인강,application인터넷강의,application인터넷강좌,application동영상,application동영상강의,application동영상강좌,application배우기,application사용법,application사용방법,안드로이드어플개발강의,안드로이드어플개발강좌,안드로이드어플개발교육,안드로이드어플개발학원,안드로이드어플개발인강,안드로이드어플개발인터넷강의,안드로이드어플개발인터넷강좌,안드로이드어플개발동영상,안드로이드어플개발동영상강의,안드로이드어플개발동영상강좌,안드로이드어플개발배우기,안드로이드어플개발사용법,안드로이드어플개발사용방법