최근 수정 시각 : 2021-06-10 11:49:58

스케치웨어/로직

파일:상위 문서 아이콘.svg   상위 문서: 스케치웨어
파일:관련 문서 아이콘.svg   관련 문서: 스케치웨어/위젯
, 스케치웨어/매니저 기능
,
,
,
,

1. 로직2. 변수
2.1. Boolean2.2. Number2.3. String2.4. Map
3. 리스트
3.1. Number3.2. String3.3. Map
4. 제어5. 연산6. 수학7. 파일8. 뷰9. 컴포넌트
9.1. 기본9.2. 인텐트9.3. Shared Preferences9.4. 캘린더9.5. 바이브레이터9.6. 타이머9.7. 다이얼로그9.8. 미디어 플레이어9.9. 사운드풀9.10. 오브젝트 애니메이션9.11. Firebase9.12. FirebaseAuth9.13. Firebase Storage9.14. 자이로스코프9.15. 카메라9.16. FilePicker9.17. Interstitial Ad9.18. TextToSpeech9.19. SpeechToText9.20. RequestNetwork9.21. BluetoothConnect
10. 추가 블럭

1. 로직

스케치웨어의 로직을 설명합니다.
블록은 볼드로 강조했으며
{ }는 변수, 리스트등의 ID
( )는 숫자 형태의 값
[ ]는 텍스트 형태의 값
< >는 논리 형태의 값
을 나타냅니다.

현재는 3.0 업데이트로 인해 기본언어가 한글로 제공되고있기 때문에 이 페이지에 있는 사진들은 참고용으로만 보기를 바랍니다.
블록이 순서대로 나열되있기 때문에 순서로 찾을 수 도 있다.
이 문서는 업데이트가 늦으니 혹시 누락된 항목이 있으면 수정 바랍니다.

본 문서보다는 가이드북(한글)을 보는것을 추천합니다. 다운로드

2. 변수

2.1. Boolean

파일:스케치웨어_로직_변수_boolean.png

기본 모양은 육각형 모양 이다.
논리(참,거짓)를 지정하는 변수이다.
{변수이름} 블록은 지정된 참 또는 거짓 값을 가져온다.
set {변수이름} to <논리> 블록은 참, 거짓 여부를 지정한다. 이때 <논리> 자리에는 연산의 true, false 블럭을 이용할 수 있다.

2.2. Number

파일:스케치웨어_로직_변수_number_1.png
기본 모양은 타원 모양 이다.
숫자( 정수)를 지정한다.
{변수이름} 블록은 지정된 수를 가져온다.
set {변수이름} to (숫자) 블록은 수를 지정한다. 이때 String 형식으로 된 숫자는 연산의 toString 블록을 이용해야 넣을 수 있다.
파일:스케치웨어_로직_변수_number_2.png
{변수이름} increase 1 블록과 {변수이름} decrease 1 블록은 해당 변수에 지정되어 있는 숫자를 1씩 더하거나 빼는 역할이다.

2.3. String

파일:스케치웨어_로직_변수_string.png
기본 모양은 사각형이다. 텍스트를 저장할 수 있다.
{변수이름} 블록은 지정된 텍스트를 가져온다.
set {변수이름} to [텍스트] 블록은 텍스트를 지정할 때 쓴다.

2.4. Map

변수를 key와 짝지어서 저장한다.[1]
기본모양은 사각형으로 String과 같지만 Map과 관련된 리스트뷰에만 넣을수 있다.

파일:스케치웨어_로직_변수_map_1.png
Map: {변수이름} 블록은 저장된 데이터들을 Map 형식으로 반환한다. Map 속성의 리스트뷰로 가져올 수 있다.
{변수이름} create new map 블록은 새로운 맵을 만든다.
{변수이름} put key [키] value [텍스트] 블록은 변수에 key와 value를 짝지어서 추가한다.

파일:스케치웨어_로직_변수_map_2.png
{변수이름} get key [텍스트] 블록은 해당 key를 가진 값을 String으로 가져온다.
{변수이름} contain key [키] 블록은 해당 값이 Map에 포함되어 있으면 true를 반환한다.

파일:스케치웨어_로직_변수_map_3.png
{변수명} remove key [키] 블록은 해당 key를 가진 값을 지운다.
{변수이름} clear 블록은 Map의 모든값을 지운다.
{변수이름} is empty 블록은 해당 Map이 비었는지 판단한다.

3. 리스트

3.1. Number

파일:스케치웨어_로직_리스트_number_1.png
List Number: {리스트이름} 블록은 저장 된 리스트를 반환 한다.
add (숫자) to {리스트이름} 블록은 입력한 숫자값을 리스트의 가장 마지막에 추가한다.
insert (숫자) at (위치) to {리스트이름} 블록은 숫자 값을 특정 위치에 넣는다. 위치는 0부터 시작한다.

파일:스케치웨어_로직_리스트_number_2.png
get at (숫자) of {리스트이름} 블록은 특정위치에 있는 값을 반환한다.
index (숫자) in {리스트이름} 블록 은 특정 값의 위치를 가져온다.
{리스트이름} contains (숫자) 블록은 리스트가 특정 값을 포함하는지 확인한다.

파일:스케치웨어_로직_리스트_number_3.png
delete at (위치) of {리스트이름} 블록은 특정 위치의 데이터를 지운다.
length of {리스트이름} 블록은 해당 리스트의 전체 길이를 가져온다.

파일:스케치웨어_로직_리스트_number_4.png
clear {리스트이름} 블록은 해당 리스트의 값을 모두 지웁니다.

3.2. String

파일:스케치웨어_로직_리스트_string_1.png
List String: {리스트이름} 블록은 해당 리스트를 반환한다.
add [텍스트] {리스트이름} 블록은 텍스트값을 해당 리스트의 가장 밑에 추가한다.
insert [텍스트] at (위치) to {리스트이름} 블록은 텍스트를 해당 리스트의 특정한 위치에 집어넣는다.

파일:스케치웨어_로직_리스트_string_2.png
get at (위치) of {리스트이름} 블록은 해당 리스트에서 특정 위치에 있는 값을 String으로 가져온다.
index [텍스트] in {리스트이름} 블록은 해당 리스트에서 특정 문자열이 있는 위치를 Number로 가져온다.
{리스트이름} contains [텍스트] 블록은 해당 리스트에 어떤 텍스트가 있는지 판단한다. 있으면 true.

파일:스케치웨어_로직_리스트_string_3.png
delete at (위치) of {리스트이름} 블록은 해당 위치의 텍스틀 지운다.
length of {리스트이름} 블록은 해당 리스트의 전체 길이를 Number로 가져온다.

파일:스케치웨어_로직_리스트_string_4.png
clear {리스트이름} 블록은 해당 리스트의 모든 값을 초기화한다.

3.3. Map

파일:스케치웨어_로직_리스트_map_1.png
List Map: {리스트이름} 블록은 해당 리스트를 Map 형식으로 가져온다.
add key [키] value [텍스트] to {리스트이름} 블록은 텍스트를 key와 짝지어 리스트 가장 밑에 추가한다.
insert key [키] value [텍스트] at (위치) to {리스트이름} 블록은 텍스트를 키와 짝지어 리스트의 특정 위치에 집어넣는다.

파일:스케치웨어_로직_리스트_map_2.png
set key [키] value [텍스트] at (위치) to {리스트뷰 이름} 블록은 해당 value를 key와 짝지어 특정위치에 추가한다.
get value at () key [텍스트] of {리스트아이디}

파일:스케치웨어_로직_리스트_map_3.png
{리스트아이디} contains at () key [키]
add {Map아이디} to {리스트아이디} 블록은 특정 Map 데이터를 리스트 Map에 추가한다.
insert {Map아이디} at (위치) to {리스트아이디} 블록은 특정 Map 데이터를 특정 위치부터 집어넣는다.

파일:스케치웨어_로직_리스트_map_4.png
get at () of {리스트아이디} to {Map아이디}
delete at (위치) of {리스트아이디} 블록은 해당 위치의 값을 지운다.
length of {리스트아이디} 블록은 해당 리스트의 길이를 Number로 가져온다.

파일:스케치웨어_로직_리스트_map_5.png
clear {리스트아이디} 블록은 해당 리스트를 모두 초기화한다.

4. 제어

파일:스케치웨어_로직_제어_1.png
reapet (반복횟수) 블록은 입력된 반복 횟수만큼 내부의 로직들을 반복한다.

파일:스케치웨어_로직_제어_2.png
forever 블록은 내부의 로직을 무한 반복한다.

파일:스케치웨어_로직_제어_3.png
stop 블록은 무한 반복 중인 블럭의 반복을 정지한다.

파일:스케치웨어_로직_제어_4.png
if <논리비교> then 블록은 <논리비교> 칸에서 true를 반환하면 내부 로직을 실행한다. 변수, 리스트, 연산 탭의 논리 관련 블럭[2]을 넣을 수 있다.

파일:스케치웨어_로직_제어_5.png
if <논리비교> then
else

블록은 <논리비교> 칸이 true를 반환하면 첫번째(위쪽의) 로직을 실행하고, 그 이외의 값이면 두번째(아래쪽) 로직을 실행한다. 두번째 칸에 if블럭이나 if~else 블럭을 넣어 else if처럼 쓸 수 있다.

5. 연산

파일:스케치웨어_로직_연산_1.png
true 블럭과 false 블럭은 참 또는 거짓을 지정한다.

파일:스케치웨어_로직_연산_2.png
(숫자) < = > (숫자) 블럭은 숫자 두개를 해당 부등호로 비교 후, 참 또는 거짓을 반환한다.

파일:스케치웨어_로직_연산_3.png
<비교> and <비교> 블럭은 양쪽이 모두 참이어야만 참이다.
<비교> or <비교> 블럭은 둘중 하나라도 참이면 참이다.
not <비교> 블럭은 <비교>가 참이면 거짓, 거짓이면 참을 반환한다.

파일:스케치웨어_로직_연산_5.png
(숫자) + - * / % (숫자) 블럭은 위에서부터 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지[3]이다.

파일:스케치웨어_로직_연산_6.png
pick random (숫자1) to (숫자2) 블럭은 숫자1 ~ 숫자2 사이의 수를 랜덤으로 뽑는다.
length of [텍스트] 블럭은 해당 텍스트의 길이를 반환한다.

파일:스케치웨어_로직_연산_7_b.png
join [텍스트1] and [텍스트2] 블럭은 텍스트1과 텍스트2를 합친다.
index [텍스트1] of [텍스트2] 블럭은 텍스트1에서 텍스트2의 앞에서부터 위치를 반환한다.
last index [텍스트1] of [텍스트2] 블럭은 텍스트1에서 텍스트2의 뒤에서부터 위치를 반환한다.

파일:스케치웨어_로직_연산_9.png
[텍스트] substring (시작위치) to (끝위치) 블럭은 텍스트에서 시작위치 ~ 끝위치 까지의 텍스트를 자른다.

파일:스케치웨어_로직_연산_10.png
[텍스트1] equals [텍스트2] 블럭은 텍스트1과 텍스트2가 동일한지 비교한다
[텍스트1] contains [텍스트2] 블럭은 텍스트1에 텍스트2가 있는지 판단한다.

파일:스케치웨어_로직_연산_11.png
[텍스트1] replace all [텍스트2] with [텍스트3] 블럭은 텍스트1에서 텍스트2의 문자를 모두 텍스트3으로 바꾼다.
trim [텍스트]블럭은 텍스트를 잘라낸다.
파일:스케치웨어_로직_연산_12.png
toUpperCase [텍스트] 블럭과 toLowerCase [텍스트] 블럭은 텍스트의 영어를 대문자나 소문자로 바꾼다.

파일:스케치웨어_로직_연산_13.png
toNumber [텍스트] 블럭은 텍스트를 숫자 형식으로 바꿔준다. 이때 '가'를 숫자로 바꾸는게 아니라 '123'같은 숫자지만 String 형식으로 된 텍스트를 Number로 바꿔준다. 일반 텍스트를 Number로 변환시 오류가 난다.
toString (숫자) without decimal 블럭은 숫자를 String 형식으로 바꾼다. 이때 숫자에서 소수점 부분은 잘라낸다. 반대로
toString (숫자) with decimal 블럭은 소수점도 포함시킨다.

파일:스케치웨어_로직_연산_14.png
(숫자) to decimal format [포맷] 블럭은 숫자의 소수점 자릿수를 변경한다. 예를 들어 소수점 2자리까지 표시하려면 포맷 자리에 0.00 이렇게 하면 된다.

파일:스케치웨어_로직_연산_15.png
add source directly [자바코드] 블럭은 해당 자리에 Java 코드를 직접 넣을수 있다. 하지만 특정 이벤트 내부에만 넣을 수 있어 모든 기능 구현은 힘들다.

파일:스케치웨어_로직_연산_16.png
Json [json] to {맵} 블럭은 json을 맵으로 지정한다.
{리스트맵} to Json String 블럭은 리스트맵을 json 형식의 텍스트로 변환해준다.
Json [json] to {리스트맵} 블럭은 json을 리스트맵으로 지정한다.
{리스트맵} to Json String 블럭은 리스트맵을 json텍스트로 변환한다.
json에 대해서는 문서 참고.

6. 수학

이 부분의 블럭들은 공학용 계산기를 만든다거나, 삼각함수를 계산한다거나 하지 않으면 거의 안 쓰는 블럭들이며, 사실 블럭 이름 가지고는 기능을 알기 힘든 블럭들도 있다.

파일:스케치웨어_로직_수학_1.png
getDip (숫자) 숫자의 값을 Dip로 변환한다.
getDisplayWidthPixels 블럭은 사용자 기기의 가로 픽셀수를 가져온다.
getDisplayHeightPixels 블럭은 사용자 기기의 세로 픽셀수를 가져온다.
해상도/목록문서 참고.

파일:스케치웨어_로직_수학_2.png
PI(π)블럭은 원주율을 반환한다.
3.141592653589793까지 반환한다.
E(e)블럭은 자연로그의 밑 [math(e)]를 반환한다.
자연로그의 밑 [math(e)]는 탄젠트 곡선의 기울기에서 유도되는 특정한 실수로 무리수이자 초월수이다. 뭔소리야
2.718281828459045까지 반환한다.

파일:스케치웨어_로직_수학_3.png
(숫자1) to the (숫자2) power 블럭은 숫자1을 숫자2의 수만큼 곱한다. 즉 숫자 1의 (숫자 2)제곱이다.
minimum of (숫자1) and (숫자2) 블럭은 숫자1과 숫자2 사이의 최소값을 가져온다.
maximum of (숫자1) and (숫자2) 블럭은 숫자1과 숫자2 사이의 최대값을 가져온다.

파일:스케치웨어_로직_수학_4.png
square root of (숫자1) 블럭은 숫자1의 제곱근(√,루트)을 구한다.

파일:스케치웨어_로직_수학_5.png
absolute value of (숫자) 블럭은 해당 숫자의 절댓값을 구한다.
round (숫자) 블럭은 숫자를 소수점 첫째 자리에서 반올림한다.
ceil (숫자) 블럭은 숫자를 올림한다.
ex) 3.2→4.0

파일:스케치웨어_로직_수학_6.png
floor (숫자) 블럭은 숫자를 내림한다.
sin (숫자) 블럭은 숫자의 사인(sin)을 구한다.
cos (숫자) 블럭은 숫자의 코사인(cos)을 구한다.

파일:스케치웨어_로직_수학_7.png
tan (숫자) 블럭은 숫자의 탄젠트(tan)을 구한다.
arcsin (숫자) 블럭은 숫자의 아크사인(arcsin)을 구한다.
arccos (숫자) 블럭은 숫자의 아크코사인(arccos)을 구한다.

파일:스케치웨어_로직_수학_8.png
arctan (숫자) 블럭은 숫자의 아크탄젠트(arctan)을 구한다.
exp (숫자) 블럭은 숫자의 지수함수를 구한다.
ln (숫자) 블럭은 숫자의 자연로그를 구한다.

파일:스케치웨어_로직_수학_9.png
log (숫자) 블럭은 숫자의 로그를 구한다.
Degree (숫자) to Radian 블럭은 각도 단위의 숫자를 라디안으로 변환한다.
Radian (숫자) to Degree 블럭은 라디안 단위의 숫자를 각도로 변환한다.

7. 파일

파일:스케치웨어_로직_파일_1.png
read file path [경로]블록은 해당경로의 파일을 읽어 온다.
write String [텍스트] to file path [경로] 블록은 해당경로에 텍스트를 쓴다.
copy file path [경로1] to path[경로2] 블록은 경로1의 파일을 경로 2로 복사한다.
파일:스케치웨어_로직_파일_2.png
move file path [경로1] to path [경로2]블록은 경로1의 파일을 경로2로 이동한다.
delete file path [경로]블록은 경로의 파일을 삭제한다.
is exist file path[경로]블록은 해당 경로에 파일이 존재하는지 확인한다.
파일:스케치웨어_로직_파일_3.png
make directory path [경로]블록은 해당 경로에 새 폴더를 생성한다.
파일:스케치웨어_로직_파일_4.png
file list in path [경로] to {리스트스트링}블록은 해당 경로의 파일 목록을 해당 String리스트에 지정한다.
path [경로] is directory블록은 해당 경로에 위치한것이 폴더인지 확인한다.
path [경로] is file블록은 해당 경로에 위치한것이 파일인지 확인한다.
파일:스케치웨어_로직_파일_5.png
get length of path [경로]블록은 해당 경로의 길이를 가져온다.
[경로] start with [텍스트]블록은 해당경로가 텍스트로 시작하는지 판단한다.
[경로] ends with [텍스트]블록은 해당경로가 텍스트로 끝나는지 판단한다.
파일:스케치웨어_로직_파일_6.png
get last segmant path of [경로]블록은 해당경로의 마지막 부분을 가져온다.
get external storage directory블록은 내부저장소의 디렉토리 경로를 가져온다.
get package data directory블록은 팩키지 데이터 디렉토리 경로를 가져온다.
파일:스케치웨어_로직_파일_7.png
get public directory type {타입}블록은 해당타입의 파일을 내장저장소에서 가져옵니다.
resize image retain ratio from path [경로1] to path [경로2] max size (사이즈)블록은 경로1의 이미지를 최대 사이즈를 유지하며 경로2에 저장한다.
resize image to square from path [경로1] to path [경로2] max size (사이즈)블록은 경로1의 이미지를 최대사이즈를 지정후 사각형으로 경로2에 저장한다.
파일:스케치웨어_로직_파일_8.png
resize image to circle from path [경로1] to path [경로2]블록은 경로1의 이미지를 둥글게 변경후 경로2에 저장한다.
resize image rounded from path [경로1] to path [경로2] round pixels (픽셀)블록은 경로1의 시잔을 빅셀만큼 모서리를 둥글게 만들어 경로2에 저장한다.
파일:스케치웨어_로직_파일_9_b.png
crop image center from path [경로1] to path [경로2] width (가로) height (세로)블록은 경로1의 이미지를 가로px 세로px 크기로 잘라서 경로2에 저장한다.
파일:스케치웨어_로직_파일_10.png
rotate image from path [경로1] to path [경로2] angle (각도)블록은 경로1의 이미지를 각도만큼 기울여서 경로2에 저장한다.
scale image from path [경로1] to path [경로2] x (x값) y (y값)블록은 경로1의 이미지를 x값 y값만큼 잘라서 경로2에 저장한다.
skew image from path [경로1] to path [경로2] x (x값) y (y값)블록은 경로1의 이미지른 x값 y값 만큼 기울여 저장한다.
파일:스케치웨어_로직_파일_11.png
set image color filter from path [경로1] to path [경로2] color {색상}블록은 경로1의 이미지에 선택된 색상필터를 적용시켜 경로2에 저장한다.
set image brightness from path [경로1] to path [경로2] value (값)블록은 경로1의 이미지를 값만큼의 밝기로 지정후 경로2에 저장한다.
set image contrast from path [경로1] to path [경로2] value (값)블록은 경로1의 이미지를 값만큼 대비변경후 경로2에 저장한다.
get jpeg rotate from file path [경로]블록은 경로의 이미지의 회전값을 가져온다.

8.

파일:스케치웨어_로직_뷰_20.png
이 블록은 라이브러리 메니저에서 AppCompat and Design라이브러리를 켜고 뷰 메니저에서 Drawer를 활성화 해야 보인다.
isDrawerOpen블록은 드로어가 열려있으면 참, 아니면 거짓을 반환한다.
openDrawer드로어를 연다.
closeDrawer드로어를 닫는다.
파일:스케치웨어_로직_뷰_1.png
{뷰아이디} setEnable <논리> 블럭은 해당 위젯의 활성화 여부를 지정하며, 참, 거짓으로 지정한다.
버튼이 비활성화되면 보이지만 눌리지 않는다.
{뷰아이디} getEnable 블럭은 해당 뷰의 활성화 여부를 참, 거짓으로 가져온다.
{뷰아이디} setVisible [항목선택] 블럭은 해당 뷰의 보이기 여부를 설정한다. 항목선택에는 VISIBLE, INVISIBLE, GONE이 있다 순서대로 보이기, 숨기기, 완전숨기기[4]이다.

파일:스케치웨어_로직_뷰_2.png
{뷰아이디} setRotation (숫자) 블럭은 해당 뷰를 숫자의 각도만큼 회전시킨다.
{뷰아이디} getRotation 블럭은 해당 뷰의 회전각도를 숫자로 가져온다.
{뷰아이디} setAlpha (숫자) 블럭은 해당 뷰의 투명도를 지정한다. 0이 투명이고, 100이 불투명이다.
{뷰아이디} getAlpha 블럭은 해당 뷰의 투명도를 가져온다.

파일:스케치웨어_로직_뷰_3.png
{뷰아이디} setTranslationX (숫자) 블럭은 해당 뷰의 X축의 위치를 지정한다. 그러나 이 위치는 액티비티 전체 상에서 위치가 아니라 위젯(뷰)을 최초로 놓은 곳이 0,0 이다.
{뷰아이디} getTranslationX 블럭은 해당 뷰의 X축의 위치를 가져온다.
{뷰아이디} setTranslationY (숫자) 블럭은 해당 뷰의 Y축의 위치를 지정한다.
{뷰아이디} getTranslationY 블럭은 해당 뷰의 Y축의 위치를 가져온다.

파일:스케치웨어_로직_뷰_4.png
{뷰아이디} setScaleX (숫자) 블럭은 해당뷰의 X길이를 지정한다. 그러나 길이는 width나 height이 아니라서 값을 늘리면 위젯내부의 텍스트까지 늘어난다(...).
{뷰아이디} getScaleX 블럭은 해당 뷰의 X길이를 가져온다.
{뷰아이디} setScaleY (숫자) 블럭은 해당 뷰의 Y길이를 지정한다.
{뷰아이디} getScaleY 블럭은 해당 뷰의 Y길이를 가져온다.

파일:스케치웨어_로직_뷰_5.png
{뷰아이디} getLocationX 블럭은 해당 뷰의 액티비티 상의 X위치를 가져온다.
{뷰아이디} getLocationY 블럭은 해당 뷰의 액티비티 상의 Y위치를 가져온다.

파일:스케치웨어_로직_뷰_6.png
{뷰아이디} setText [텍스트] 블럭은 버튼, 에딧 텍스트, 텍스트뷰 등 텍스트를 표시하는 위젯의 텍스트를 지정한다.
{뷰아이디} getText 블럭은 해당 뷰의 텍스트를 가져온다.

파일:스케치웨어_로직_뷰_7.png
{뷰아이디} setTypeface {폰트} with style {스타일} 블럭은 해당뷰의 폰트를 지정한다. 먼저 폰트 매니저에서 폰트(*.ttf)를 추가한 후 {폰트}에서 선택한다. {스타일}에서는 텍스트의 스타일을 지정한다.

파일:스케치웨어_로직_뷰_8.png
{체크박스아이디} set Checked <논리> 블럭은 해당 체크박스의 체크여부를 참 또는 거짓으로 지정한다.
{체크박스아이디} getChecked 블럭은 해당 체크박스의 체크여부를 참 또는 거짓으로 가져온다.

파일:스케치웨어_로직_뷰_9.png
{뷰아이디} setBackgroundColor {색상코드} 블럭은 해당 뷰의 배경색을 설정한다. {색상코드}에서 색을 선택할 수도 있고, 직접 코드를 입력할 수 있다.
{뷰아이디} setBackgroundResource {이미지} 블럭은 해당 뷰의 배경 이미지를 지정한다. 이미지 매니저에 이미지를 먼저 올려야 한다.

파일:스케치웨어_로직_뷰_10.png
{뷰아이디} setTextColor {컬러코드} 블럭은 해당 뷰의 텍스트 색상을 지정한다.
{이미지뷰아이디} setImage {이미지} 블럭은 해당 이미지뷰의 이미지를 지정한다.

파일:스케치웨어_로직_뷰_21.png
{뷰아이디} setColorFilter 블록은 이미지뷰의 이미지에 해당 색의 컬러필터를 씌울 수 있다.
{뷰아이디} set image from file path [이미지경로] 블록은 해당 경로의 이미지를 이미지뷰로 가져온다.
{뷰아이디} set image from url [URL] 블록은 해당 이미지뷰의 이미지를 URL로 지정한다.

파일:스케치웨어_로직_뷰_11.png
{시크바아이디} setProgress (위치) 블럭은 해당 시크바의 위치를 지정한다.
{시크바아이디} getProgress 블럭은 해당 시크바의 위치를 가져온다.
{시크바아이디} setMax (최댓값) 블럭은 해당 시크바의 최대 값을 지정한다. 기본은 100.
{시크바아이디} getMax 블럭은 해당 시크바의 최댓값을 가져온다.

파일:스케치웨어_로직_뷰_12.png
{리스트뷰아이디} setListViewData {리스트아이디} 블럭은 해당 리스트뷰의 데이터를 리스트에서 가져와 지정한다. 여기서 리스트는 위의 2번 항목에서 설명한 리스트이다.
{리스트뷰아이디} setListcustomViewData {Map리스트아이디} 블럭은 해당 커스텀 리스트뷰의 데이터를 Map 리스트뷰로 지정한다.

파일:스케치웨어_로직_뷰_13.png
{리스트뷰아이디} refreshData 블럭은 해당 리스트뷰를 새로고침한다.
{리스트뷰아이디} smoothScrollToPosition (위치) 블럭은 해당 리스트뷰의 스크롤을 해당 위치로 이동시킨다.

파일:스케치웨어_로직_뷰_14.png
{스피너아이디} setSpinnerData {리스트아이디} 블럭은 해당 스피너의 데이터를 리스트로 지정한다.
{스피너아이디} refreshDtat 블럭은 해당 스피너를 새로고침한다.
{스피너아이디} setSelection (위치) 블럭은 해당 스피너의 선택된 항목을 지정한다. 위치는 0부터 시작한다.
{스피너아이디} getSelsction 블럭은 해당 스피너의 선택된 항목의 위치를 Number로 가져온다.

파일:스케치웨어_로직_뷰_15.png
{웹뷰아이디} loadUrl [주소] 블럭은 해당 웹뷰에서 지정된 주소의 페이지를 로드한다.
{웹뷰아이디} getliadUrl 블럭은 해당 웹뷰의 로드된 Url을 가져온다.

파일:스케치웨어_로직_뷰_16.png
{웹뷰아이디} setCacheMode {캐시모드} 블럭은 웹뷰의 캐시모드를 지정한다.
- LOAD_CACHE_ELSE_NETWORK: 기간이 만료되어 캐시를 사용할 수 없을 경우 네트워크를 사용한다.
- LOAD_CACHE_ONLY: 네트워크를 사용하지 않고 캐시를 불러온다.
- LOAD_DEFAULT: 기본적인 모드로 캐시를 사용하고 만료된 경우 네트워크를 사용해 로드한다.
- LOAD_NO_CACHE: 캐시모드를 사용하지 않고 네트워크를 통해서만 호출한다. 출처
{웹뷰아이디} canGoBack 블럭은 현재 페이지에서 뒤로 갈 수 있는지를 참 또는 거짓으로 반환한다.
{웹뷰아이디} canGoForward 블럭은 현재 페이지에서 앞으로 갈 수 있는지를 참 또는 거짓으로 반환한다.

파일:스케치웨어_로직_뷰_17.png
{웹뷰아이디} goBack 블럭은 현재 페이지에서 뒤로간다.
{웹뷰아이디} GoForward 블럭은 현재 페이지에서 앞으로간다.
{웹뷰아이디} clearCache 블럭은 해당 웹뷰의 캐시를 삭제한다.
{웹뷰아이디} clearHistory 블럭은 해당 웹뷰의 검색기록을 지운다.

파일:스케치웨어_로직_뷰_18.png
{웹뷰아이디} stopLoading 블럭은 해당 웹뷰의 사이트 로딩을 중지시킨다.
{웹뷰아이디} zoomIn 블럭은 해당 웹뷰 페이지를 한 단계 확대시킨다.
{웹뷰아이디} zoomOut 블럭은 해당 웹뷰 페이지를 한단계 축소시킨다.

파일:스케치웨어_로직_뷰_19.png
{캘린더뷰아이디} setDate (밀리초) ms 블럭은 해당 캘린더뷰가 표시하는 날짜를 밀리초로 지정한다.[5] 이때 0ms가 1970년 1월 1일 오전 09시 00분 00초 이다.
{캘린더뷰아이디} setMinDate (밀리초) ms 블럭은 해당 캘린더뷰가 표시하는 최소 날짜를 밀리초로 지정한다.
{캘린더뷰} setMaxDate (밀리초) ms] 블럭은 해당 캘린더뷰가 표시하는 최대 날짜를 밀리초로 지정한다.

파일:스케치웨어_로직_뷰_22.png
{애드뷰아이디} 불러오기 블록은 해당 애드뷰에 배너광고를 띄운다.

9. 컴포넌트

9.1. 기본

파일:스케치웨어_로직_인텐트_기본_1.png
Toast [텍스트] 블럭은 지정된 텍스트를 토스트 메시지로 띄워서 보여준다.
copyToClipboard [텍스트] 블럭은 해당 텍스트를 클립보드에 복사한다.
Activity set title [텍스트] 블럭은 해당 액티비티의 제목을 지정한다.

파일:스케치웨어_로직_인텐트_기본_2.png
Activity getExtra key [키] 블럭은 해당 액티비티 key를 가진 값을 가져온다. 만약 없으면 Null이 반환된다.
Finish Activity블럭은 현재 액티비티를 종료합니다.

9.2. 인텐트

파일:스케치웨어_로직_컴포넌트_인텐트_1.png
{인텐트이름] putExtra key (키) value (값) 블럭은 특정 액티비티로 키에 값을 실어서 이동시킨다.
{인텐트이름} setFlags {플래그} 블럭은 액티비티의 플래그를 설정한다.
- SINGLE_TOP: 이미 열려있는 액티비티 위에 연다.
- CLEAR_TOP: 이미 열려있는 액티비티를 종료시키고, 새로운 액티비티를 연다.
startActivity {인텐트이름} 블럭은 해당 인텐트에 지정되어 있는 액티비티로 이동한다.

파일:스케치웨어_로직_컴포넌트_인텐트_2.png
{인텐트이름} setAction {액션종류} 블럭은 해당 인텐트의 액션 종류를 지정한다.
- ACTION_CALL: 인텐트 실행시 바로 전화를 건다.
- ACTION_DIAL: 인텐트 실행시 전화기앱에 전화번호를 입력한 상태로 연다.
- ACTION_VIEW: 외부 인터넷 브라우저를 이용해서 지정된 주소로 인터넷 홈페이지를 연다.
{인텐트이름} setData [데이터] 블럭은 인텐트 액션에서 지정된 형식에 따라 전화번호나 홈페이지 Url을 지정한다.
{인텐트이름} setScreen {액티비티이름} 블럭은 해당 인텐트에 대해서 이동할 액티비티를 지정한다.

9.3. Shared Preferences

파일:스케치웨어_로직_컴포넌트_파일_1.png
{파일아이디} getData key [키] 블럭은 해당 키를 가진 데이터를 String 형식으로 가져온다.
{파일아이디} setData key [키] value [값] 블럭은 값을 해당 키와 짝지어서 저장한다.
{파일아이디} removeData key[키] 블럭은 해당 키를 가진 값을 삭제한다.

9.4. 캘린더

파일:스케치웨어_로직_컴포넌트_캘린더_1.png
{캘린더아이디} getNow 블럭은 해당 캘린더의 현재 날짜, 시간을 가져온다.
{캘린더아이디} add {타입} value (숫자) 블럭은 해당 캘린더에서의 현재 날짜에서 타입 단위의 수를 value만큼 더한다.[6]
{캘린더아이디} set {타입} value (숫자) 블럭은 해당 캘린더에서의 현재 날짜에서 타입 단위의 수를 value로 지정한다.[7]

파일:스케치웨어_로직_컴포넌트_캘린더_2.png
{캘린더아이디} Format [포맷] 블럭은 해당 캘린더에서 지정된 포맷으로 시간을 가져온다.[8] 지원되는 포맷들
Difference {캘린더아이디1} - {캘린더아이디2} 블럭은 두 캘린더의 시차를 Number로 가져온다.
{캘린더아이디} getTime(ms) 블럭은 해당 캘린더의 현재 날짜를 밀리초로 가져온다.[9]
{캘린더아이디} setTime (숫자)ms 블럭은 해당 캘린더의 날짜를 밀리초로 지정한다.

9.5. 바이브레이터

파일:스케치웨어_로직_컴포넌트_바이브레이터_1.png
{바이브레이터아이디} vibrate for (시간) ms 블럭은 휴대폰을 해당 밀리초만큼 진동시킨다. 이때 진동을 너무 길게 주지 않도록 주의하자.

9.6. 타이머

파일:스케치웨어_로직_컴포넌트_타이머_1.png
{타이머아이디} after (시간) ms 블럭은 해당 블럭이 있는 이벤트가 실행되고 지정된 밀리초 만큼 시간 뒤에, 내부의 블럭들을 실행 한다.
(타이머아이디) after (시간1) ms for every (시간2) ms 블럭은 해당 블럭이 있는 이벤트가 실행되고 지정된 밀리초만큼 시간1 뒤에 내부의 블럭을 실행하고, 시간2만큼의 간격으로 내부 블럭을 무한 반복한다.
{타이머아이디} cancel 블럭은 해당 타이머의 작동을 중지시킨다.

9.7. 다이얼로그

파일:스케치웨어_로직_컴포넌트_다이얼로그_1.png
{다이얼로그아이디} set title [제목] 블럭은 해당 다이얼로그의 제목을 지정한다.
{다이얼로그아이디} set message [내용] 블럭은 해당 다이얼로그의 내용을 지정한다.

파일:스케치웨어_로직_컴포넌트_다이얼로그_2.png
{다이얼로그아이디} OK Button [버튼이름] Cliked 블록은 해당 다이얼로그의 OK 버튼의 텍스트를 지정하고 눌렀을 때 실행할 블록을 지정한다.
{다이얼로그아이디} Cancel Button [버튼이름] Cliked 블록은 해당 다이얼로그의 Cancel 버튼의 텍스트를 지정하고 눌렀을 때 실행할 블록을 지정한다.
{다이얼로그아이디} Neutural Button [버튼이름] Cliked 블록은 해당 다이얼로그의 Neutural 버튼의 텍스트를 지정하고 눌렀을 때 실행할 블록을 지정한다.
여기서, 해당 버튼의 이름과 하는 일은 관련 없으며, 해당 버튼의 내부 로직을 비워두면 버튼이 눌리면 아무것도 실행하지 않고, 다이얼로그가 없어진다.

파일:스케치웨어_로직_컴포넌트_다이얼로그_3.png
{다이얼로그아이디} show 블록은 위의 블록들로 지정한 내용들을 합쳐서 다이얼로그로 띄워준다.
위의블록들로 내용 지정후 이 블록을 밑에 붙이지 않으면 다이얼로그가 뜨지 않는다.

9.8. 미디어 플레이어

사운드풀미디어 플레이어의 장단점
비교 사운드풀 미디어 플레이어
장점 10초 이내의 짧은 사운드 재생에 최적화 긴 사운드 재생에 최적화
단점 긴 소리는 재생중 잘림, 3gp 재생불가, MP3 불안정, ogg 권장 스케치웨어 내에서는 거의 없음

파일:스케치웨어_로직_컴포넌트_미디어플레이어_1.png
{미디어플레이어아이디} create {사운드파일} 블록은 해당 미디어 플레이어에 사운드를 지정한다. 사운드 매니저에 노래를 먼저 넣어야한다.
{미디어플레이어아이디} start 블록은 노래를 재생한다.
{미디어플레이어아이디} pause 블록은 노래를 일시정지한다.

파일:스케치웨어_로직_컴포넌트_미디어플레이어_2.png
{미디어플레이어아이디} seek to (시간) 블록은 노래의 재생위치를 밀리초로 지정한다.
{미디어플레이어아이디} get curent duration 블록은 0초부터 현재 재생중인 위치까지의 길이를 밀리초로 가져온다.
{미디어플레이어아이디} get song duration 블록은 0초부터 지정된 노래의 전체 길이를 밀리초로 가져온다.

파일:스케치웨어_로직_컴포넌트_미디어플레이어_3.png
{미디어플레이어아이디} is playing 블록은 현재 재생중인지를 참 또는 거짓으로 가져온다.
{미디어플레이어아이디} set looping <논리> 블록은 반복여부를 참 또는 거짓으로 지정한다.
{미디어플레이어아이디} is looping 블록은 반복활성화 여부를 참 또는 거짓으로 가져온다.

9.9. 사운드풀

사운드풀미디어 플레이어의 장단점
비교 사운드풀 미디어 플레이어
장점 10초 이내의 짧은 사운드 재생에 최적화 긴 사운드 재생에 최적화
단점 긴 소리는 재생중 잘림, 3gp 재생불가, MP3 불안정, ogg 권장 스케치웨어 내에서는 거의 없음

파일:스케치웨어_로직_컴포넌트_사운드풀_1.png
{사운드풀아이디} create max stream count (숫자) 블록은 해당 사운드풀이 재생 가능한 최대 사운드 개수를 설정한다.
Sound ID: {사운드풀아이디} load {사운드} 블록은 해당 사운드풀이 재생할 사운드를 지정한다.
Sound ID: {사운드풀아이디} play Sound ID (사운드아이디) 1 + times (횟수) 블록은 해당 사운드를 재생한다. 뒷부분의 (횟수)는 그냥두면 한번만 재생, 다른 값을 두면 그 수만큼 반복 재생한다.

파일:스케치웨어_로직_컴포넌트_사운드풀_2.png
{사운드풀아이디} stop stream ID (사운드아이디)블록은 해당 사운드의 재생을 중지한다.

9.10. 오브젝트 애니메이션

* 편의상 {오브젝트애니메이션아이디}를 {아이디}로 쓴다.

파일:스케치웨어_로직_컴포넌트_오브젝트애니메이션_1.png
{아이디} set target {뷰아이디} 블록은 애니메이션을 적용할 뷰를 지정한다.
{아이디} set property {애니메이션종류} 블록은 애니메이션의 종류를 지정한다.
애니메이션 종류 목록
rotation: 회전 애니메이션
translationX: X축(가로)위치변경 애니메이션
translationY: Y축(가로)위치변경 애니메이션
alpha: 투명도 변경 애니메이션
scaleX: X축(가로)길이변경 애니메이션
scaleY: Y축(세로)길이변경 애니메이션
{아이디} set value (값) 블록은 해당 애니메이션의 값을 지정한다.[10]

파일:스케치웨어_로직_컴포넌트_오브젝트애니메이션_2.png
{아이디} set duration (길이) 블록은 해당 애니메이션이 진행될 시간을 밀리초로 지정한다.[11]
{아이디} set repeat mode {모드} 블록은 해당 애니메이션의 반복 모드를 지정한다.
반복모드 목록
RESTART: 처음부터 다시시작
REVERSE: 애니메이션 역재생
{아이디} set repeat count (반복횟수) 블록은 해당 애니메이션의 반복 횟수를 지정한다.

파일:스케치웨어_로직_컴포넌트_오브젝트애니메이션_3.png
{아이디} set interpolator {효과} 블록은 해당 애니메이션의 효과를 지정한다.
애니메이션 효과 목록
Linear: 효과없음
Accelerate: 점점 속도 빨리
Decelerate: 점점 속도 느리게
AccelerateDecelerate: 빨라졌다 느리게
Bounce: 튀기기
{아이디} start 블록은 해당 애니메이션을 시작한다.
{아이디} stop 블록은 해당 애니메이션을 정지한다.
{아이디} is running 블록은 해당 애니메이션이 동작 중인지를 참 또는 거짓으로 가져온다.

파일:스케치웨어_로직_컴포넌트_오브젝트애니메이션_4.png
{아이디} set values from (시작값) to (종료값) 블록은 해당 애니메이션의 시작값과 종료값을 지정해준다.

9.11. Firebase

  • 컴포넌트 추가하기전 등록하기
    추가할 프로젝트를 연다→우측 상단 점3개 메뉴 클릭→가장 위에 있는 Library Manager(라이브러리 매니저)클릭→Firebase 옆에 있는 스위치 켜기→프로젝트아이디, 파이어베이스 APPID, 파이어베이스 APIKEY 입력하기→SAVE(저장)→컴포넌트 추가하기
  • 이 때 먼저 FirebaseConsol에다가 사용할 저장공간을 등록해야 한다.
FireBaseConsol
스케치웨어 콘솔 등록 가이드

파일:스케치웨어_로직_컴포넌트_Firebase_1.png
{파이어베이스아이디} add key [키] value {Map} 블록은 Map 형식으로된 value를 key와 같이 저장한다.
{파이어베이스아이디} push value {Map} 블록은 파이어베이스에 Map 형식의 값을 집어넣는다. 이때 랜덤 Key가 생성된다.
{파이어베이스아이디} push getKey 블록은 해당 파이어베이스의 지정된 경로에 대해 랜덤 Key를 생성한다.

파일:스케치웨어_로직_컴포넌트_Firebase_2.png
{파이어베이스아이디} delete key [키] 블록은 해당 키를 가진 값을 삭제한다.
{파이어베이스아이디} get children to {리스트맵} then 블록은 가져온 값들을 리스트맵에 저장한 후 내부 블록을 실행한다.

9.12. FirebaseAuth

  • 파이어베이스 컴포넌트 처럼 라이브러리 매니저에 파이어베이스를 먼저 등록해야 한다.
  • {FirebaseAuth아이디}를 {아이디}로 표기한다.

파일:스케치웨어_로직_컴포넌트_FirebaseAuth_1.png
{아이디} createUserWith Email [이메일] and Password [비밀번호] 블록은 해당 이메일과 비밀번호를 파이어베이스에 등록 시킨다.(회원가입)
{아이디} signInWith Email [이메일] and Password [비밀번호] 블록은 해당 이메일과 비밀번호로 로그인을 한다.(로그인)
{아이디} signInAnonymously 블록은 회원가입 없이 로그인한다.(게스트 로그인)

파일:스케치웨어_로직_컴포넌트_FirebaseAuth_2.png
FirebaseAuth isLoggedIn 블록은 로그인이 되어 있는지 확인 한다.
FirebaseAuth getEmail 블록은 로그인된 유저의 이메일을 가져온다.
FirebaseAuth getUid 블록은 유저의 고유의 랜덤 Key를 가져온다.
FirebaseAuth signOut 블록은 로그아웃을 한다.

9.13. Firebase Storage

파일:스케치웨어_컴포넌트_파이어베이스스토리지_1.png
{컴포넌트아이디} upload file path [경로] name as [이름]블록은 경로의 파일을 이름지정후 업로드 한다.
{컴포넌트아이디} download file url [주소] to file path [경로]블록은 해당 url에서 경로로 다운로드한다.
{컴포넌트아이디} delete file url [주소]블록은 해당url의 파일을 지운다.

9.14. 자이로스코프

자이로스코프는 기기의 회전각을 감지하는 센서이다. 기기에 따라 없을 수 있으며, 그때는 값을 못 불러오고, 에러 토스트를 띄워준다.

파일:스케치웨어_로직_컴포넌트_자이로스코프_1.png
자이로스코프는 일반 컴포넌트와 달리 위의 사진처럼 이벤트를 추가후 사용 해 주어야 한다. 이벤트는 onSensorChanged로 자이로 스코프 센서값이 변경될 때 작동 한다.

파일:스케치웨어_로직_컴포넌트_자이로스코프_2.png
이벤트를 추가후, 들어가보면 다음과 같이 x, y, z 블럭이 있으며 각각 기기의 x, y, z 회전각을 가져온다.
파일:스케치웨어_로직_컴포넌트_자이로스코프_3.png
위 사진은 기기의 x, y, z축의 방향이다.

9.15. 카메라

파일:스케치웨어_컴포넌트_카메라_1.png
{카메라컴포넌트아이디} take picture블록은 카메라컴포넌트로 사진을 찍기위해 카메라를 엽니다.

9.16. FilePicker

파일:스케치웨어_로직_컴포넌트_파일피커_1.png
{파일피커아이디} 파일 선택하기블록은 파일을 선택하는 창을 연다. 선택하면 파일을 선택했을때 이벤트에서 선택한 파일의 경로를 가져올 수 있다.

9.17. Interstitial Ad

파일:스케치웨어_로직_컴포넌트_애드몹_1.png
{컴포넌트아이디} 생성하기 블록은 Ad를 생성한다.
{컴포넌트아이디} 불러오기 블록은 Ad를 불러온다.
{컴포넌트아이디} 보여주기 블록은 전면광고를 보여준다.

9.18. TextToSpeech

텍스트를 음성으로 바꿔 읽어주는 컴포넌트이다.

9.19. SpeechToText

음성인식 결과를 텍스트로 바꿔주는 컴포넌트이다.

9.20. RequestNetwork

html을 가져오거나 서버에 데이터를 전송할때 쓴다.
OkHttp 라이브러리를 사용한다.

9.21. BluetoothConnect

3.7.0에서 추가된 컴포넌트로, 무려 블루투스(!)를 지원한다!

10. 추가 블럭

파일:스케치웨어_로직_추가블럭_1.png
추가 블럭은 로직 카테고리 하단에서 생성 할 수 있다. 기능은 스크래치 앱인벤터 함수와 같은 기능이다. 그 외에 논리, 숫자 등의 변수를 지정할 수도 있다.

파일:스케치웨어_로직_추가블럭_2.png
생성시 이렇게 이벤트 목록에 이벤트가 생긴다. 이 안에 블럭을 넣어 함수처럼 쓸 수 있다.

파일:스케치웨어_로직_추가블럭_5.png
만약 추가 블럭 이벤트에 Toast 블럭을 넣고
파일:스케치웨어_로직_추가블럭_6.png
다른 이벤트에 이렇게 쓰면 추가 블럭 자리에 Toast 블럭이 있는것과 같은 기능을 한다.
파일:스케치웨어_로직_추가블럭_3.png
그 외에 첫번째 사진처럼 boolean 항목을 추가하면 다른 이벤트에서 지정한 boolean 값을
파일:스케치웨어_로직_추가블럭_4.png
추가 블럭 이벤트에서 가져올 수 있다.

[1] 예를 들어
{key=1, value=사과}
{key=2, value=오렌지}
이런 식으로 저장하고,1번 key를 불러오면 사과가 불러와진다.
[2] 육각형 모양 블록 [3] a % b면 a÷b 를 계산하고 나머지를 반환한다. [4] GONE으로 설정시 안보임과 동시에 위젯은 가로세로도 0이 되어버린다. [5] 1ms=1000s [6] 만약 현재가 11시 10분, 타입이 MINUTE(분), value가 10이라고 하면 11시 10분에 10분을 더해서 11시 20분으로 정한다. [7] 만약 현재가 11시10분, 타입이 MINUTE(분), value가 30이라고 하면 11시 30분으로 정한다. [8] yyyy년 MM월 dd일 hh:mm:ss → 2018년 2월 12일 10:57:30 [9] 1000ms = 1s [10] 만약 property가 Alpha일때 value를 100으로 하면 해당 위젯의 투명도를 100으로 만드는 애니메이션을 실행한다. [11] 만약 duraition이 3000이고 애니메이션이 Alpha, 100이라면 3초에 걸쳐 해당 위젯의 투명도를 100으로 만든다.