• 검색 결과가 없습니다.

모바일 앱 만들기

N/A
N/A
Protected

Academic year: 2022

Share "모바일 앱 만들기"

Copied!
24
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

모바일 어플리케이션

모바일 앱 만들기 1강

앱인벤터의 텍스트 코딩

14강

(2)

프로젝트와 함께 코드 보기 자바로 코드 변형

블록코딩과 텍스트 코딩

1 차시

2 차시 3 차시

2. 자바스크립트로 바꿔서 출력하는 방법을 실습해 본다.

3. 기존 블록 코딩 예제를 변형해서 비교하며 코딩해 본다.

1. 블록코딩과 텍스트 코딩의 개념을 이해하여 활용할 수 있다.

학 습 목 표

(3)

블록코딩과 텍스트 코딩

MIT App Inventor / Anyone Can Build Apps That Impact the World / visual coding of block building method / appinventor.mit.edu/explore / The Cyber University of Korea / CUK,edu

I T / D E S I G N / M O B I L E A P P L I C A T I O N

1차시

교육 목적의 프로그래밍 언어 1

교육용 언어는 왜 필요하게 되었을까요?

1

프로그램 언어는 보통 텍스트형으로 구성

§

(4)

교육 목적의 프로그래밍 언어 1

교육용 프로그래밍 언어

2

목적 : 프로그래밍 학습용

문법이 간단하고 텍스트보다는 시각적(블록) 방법을 사용함

구분 일반 프로그래밍(텍스트형) 교육용 프로그래밍(블록형) 종류 C, Java등 스크래치, 앱인벤터 등

사용목적 소프트웨어 개발 프로그래밍 교육

문법구조 복잡 간단

인터페이스 대부분 텍스트 기반 대부분 비주얼(블록) 기반

출처: 김대수. 소프트웨어와 컴퓨팅 사고. 2018. 생능출판. P107

§

§

2 블록코딩

스크래치와 블록클리

1

(5)

2 블록코딩

앱 인벤터

2

블록코딩의 특징

3

이미지(디자인)과 코딩의 화면이 나뉘어져 있음

2 블록코딩

§

(6)

블록코딩의 특징

3

코딩의 단위는 블록으로 되어 있음 블록들은 기능이 유사한 블록끼리 묶여 있음

2 블록코딩

블록코딩의 특징

3

블록은 서로 끼울 수, 혹은 끼울 수 없게 홈이 있음

2 블록코딩

§

(7)

텍스트 코딩과 비교

4

2 블록코딩

이미지(디자인)과 코딩이 화면이 나뉘어져 있음

텍스트 코딩 작업에도 이미지와 프로그래밍 작업이 나뉨

코딩의 단위는 블록으로 되어 있음

텍스트 코딩 작업에도 변수와 명령어(함수)단위로 작업함

텍스트 코딩과 비교

4

2 블록코딩

블록들은 기능이 유사한 블록끼리 묶여 있음

변수 외에 명령어(함수)는 기능이 유사한 몇몇의 단위로 작업됨

블록은 서로 끼울 수, 혹은 끼울 수 없게 홈이 있음

명령어와 변수도 서로 연결할 수 있는 것이 있고 없는 것이 있음

(8)

텍스트 코딩 3

텍스트 코딩의 정의

1

인터페이스적으로 텍스트 형태로 되어 있는 것은 모두 텍스트 코딩 텍스트 코딩이라는 용어는 블록코딩과 구분하기 위해 사용한 용어로 보통은 일반 프로그램 언어라고 부름

보편적으로는 C, C++, 자바, 자바 스크립트, HTML 등 무수히 다양한 언어가 있음

§

§

본 수업에서는 자바를 사용

자바 : 오라클에서 만든 객체지향형 언어

§

텍스트 코딩 3

텍스트 코딩과 블록 코딩의 비교

2

자바스크립트는 컴파일 없이도 간단히 실행해 볼 수 있는 자바 기반의 언어

웹 프로그램부터 어플 개발에 이르기까지 범용적으로 사용 변수 지정이나 명령어가 단순해서 파이썬과 더불어

초보용 텍스트 코딩 언어로 주목받고 있음

§

§

§

자바스크립트를 예제로 블록코딩 언어와 간단히 비교해 볼 예정

(9)

텍스트 코딩 3

텍스트 코딩과 블록 코딩의 비교

2

세 개의 주사위를 만듬

주사위는 최소수 1, 최대수 6 주사위는 랜덤으로 작성

주사위의 결과는 팝업창(Alert)에 나옴

만일 합계가 25 이상이면 Lucky라고 출력됨

주사위 예제

§

§

§

§

§

텍스트 코딩

3

(10)

텍스트 코딩 3

텍스트 코딩

3

(11)

텍스트 코딩 3

텍스트 코딩

3

(12)

텍스트 코딩 3

참고 자료

§ http://appinventor.mit.edu

(13)

자바로 코드 변형

MIT App Inventor / Anyone Can Build Apps That Impact the World / visual coding of block building method / appinventor.mit.edu/explore / The Cyber University of Korea / CUK,edu

I T / D E S I G N / M O B I L E A P P L I C A T I O N

2차시

자바브릿지 1

앱인벤터의 블록 코딩을 자바로 코드 전환할 수 있게 만듦

앱입벤터 내에 버튼 제공하여 작업 중에도 자바 코드를 생성해서 비교 가능 자바와 앱인벤터 동시 개발

자바는 오라클에서 만든 객체지향형 언어

§

§

§

§

(14)

자바브릿지 설치하기 2

자바 브릿지 사이트 이동

1

구글 아이디로 로그인

2

구글 아이디 권한 요청

3

자바브릿지 설치하기 2

Generator JAVA 버튼 생김

4

(15)

자바브릿지 설치하기 2

Generator JAVA 버튼 생김

5

자바브릿지 설치하기 2

java 코드 생김

6

(16)

자바코드와 블록 잠깐 비교 3

자바코드와 블록 잠깐 비교

3

(17)

자바코드와 블록 잠깐 비교 3

참고 자료

§ http://appinventor.mit.edu

§ http://www.appinventor.org/jbridge

(18)

프로젝트와 함께 코드보기

MIT App Inventor / Anyone Can Build Apps That Impact the World / visual coding of block building method / appinventor.mit.edu/explore / The Cyber University of Korea / CUK,edu

I T / D E S I G N / M O B I L E A P P L I C A T I O N

3차시

프로젝트에서 자바 코드 추출 1

샘플 프로젝트

가위바위보 프로젝트

(19)

블록코드와 자바코드 같이 보기 2

전역변수 초기화

1

전역변수: 전체적으로 영향을 주는 변수 초기화: 값을 초기로 변경

“ ” : 문장형이고 빈 값(null) 실제 자바에서의 구현

private String rsp;

rsp = “ ”;

§

§

§

§

§

§

블록코드와 자바코드 같이 보기 2

버튼 이벤트

2

언제 실행

Button1과 클릭이 조건임

즉 Button1이 클릭 된 순간 프로그램이 시작됨 버튼 이벤트라고 부름

§

(20)

블록코드와 자바코드 같이 보기 2

실제 자바에서의 구현

if( component.equals(Button1) &&

eventName.equals("Click") ){

Button1Click();

return true; }

public void Button1Click(){

}

버튼 이벤트

2

§

블록코드와 자바코드 같이 보기 2

rsp 변수를 리스트로 바꾸기

3

지정하기: rsp라는 변수를 리스트로 만듦

그러니까 이제부터 rsp는 세 개의 방을 갖는 리스트 rsp = [1.png], [2.png], [3.png]

단 자바에서는 일반 배열이 아닌 리스트라는 독특한 시스템을 사용. 리스트는 [ ]가 아닌 < >로 표시

§

§

§

(21)

블록코드와 자바코드 같이 보기 2

rspSubList = new ArrayList<Object>(); //rsp를 리스트로 선언 public void Button1Click(){

rspSubList.add("1.png");

rspSubList.add("2.png");

rspSubList.add("3.png");

}

rsp 변수를 리스트로 바꾸기

3

블록코드와 자바코드 같이 보기 2

가위바위보 이미지값 지정

4

Image1(가위바위보 그림이 나타날 곳)의 값을 방금 만든 리스트에서 가져옴

Image1은 리스트의 그림 3장 중 하나가 나타나도록

§

§

(22)

블록코드와 자바코드 같이 보기 2

가위바위보 이미지값 지정

4

Image1 = new Image(HorizontalArrangement1);

public void Button1Click(){

rspSubList.add("1.png");

rspSubList.add("2.png");

rspSubList.add("3.png");

Image1.Picture(rsp);

}

블록코드와 자바코드 같이 보기 2

가위바위보 리스트와 실제 이미지 연결

5

중첩 if문을 통해서 총 세 개의 결과값으로 가는 분기작성 if(rsp == “1.png”) //만일 rsp가 “1.png”이면

Label1 = “보” //Label1은 “보”

가위, 바위, 보의 이미지와 라벨의 글 연결

§

§

(23)

블록코드와 자바코드 같이 보기 2

가위바위보 리스트와 실제 이미지 연결

5

if(Integer.valueOf(rsp)==Integer.valueOf("1.png")){

Label1.Text(“보”);

} else

if(Integer.valueOf(rsp)==Integer.valueOf("2.png")){

Label1.Text(“바위”);

} else {

Label1.Text(“가위”);

} } }

참고 자료

§ 쉽고 재미있게 만드는 앱 프로그래밍 앱 인벤터, 이종원 저, 한빛아카데미

§ 스마트폰 이미지 http://bitly.kr/9cFC

(24)

학 습 정 리

자바

오라클에서 만든 객체지향형 프로그래밍 언어

텍스트코딩

앱인벤터와 같은 블록코딩과 비교하기 위해 사용하는 말로, 텍스트형 코딩 방법을 지칭함

자바브릿지

앱인벤터로 작성한 코드를 자바로 출력하기 위해 사용하는 프로그램

참조

관련 문서

이제 특정 장르만을 고집하는 것이 의미가 없는 시대인 만큼 재즈계가 가 요장르를 비롯하여 타 장르와 함께 어울려 발전적인 음악이 되기를 바라고, 재즈가 가요발전을

인간에게는 우리가 이해할 수 없는 폭력성이 내재되어 있고, 예방하려고 아무리 애를 써도 막을 수 없는 것이 인간세계의 불합리성이자 아이러니 이며 받아들일 수밖에

 소비자들을 상품사용경험(user status)에 따라 사용경험이 전혀 없는 소비자, 과 거에 사용 경험이 있지만 지금은 사용하지 않는 소비자, 향후 잠재적으로 사용할

웹에서 검색하게 되면 쿠키나 사용기록 등을 저장하게 되는데, 이러한 정보를 캐시라고 하며 다음 방문시 빠르게 불러올 수 있는 장점이 있습니다.. 하지만 이렇게 차곡차곡 쌓이게 되면 저장할 공간이 좁아져 주기적으로 삭제하는 것이

 영역의 안을 채우는 역할  영역 – 컨트롤에 의해 생기는 영역으로 Fill 과 Stroke 속성으로 바꿀 수 있는 부분을 말하며, 이 속성들을 XAML에서 더 자세히 지정할 수

정작 필요한 자산이 없는 사업에 진입할 수 있고 가능성 있는 핵심사업을 지원하지 못하는

따라서 STEAM 교육은 어느 한 단계의 교육을 의미하는 것이 아니고 평생 교육 에서 전문교육까지의 전체적인 패러다임을 의미하는 것이며, 특히 초등학교에서는 과학,

둘 째, 네트워크 인프라 기술은 인간과 사물, 서비스 등 분산된 환경 요소들을 서로 연결할 수 있는 유무선 네트워킹 기능으로, 저전력 블루투스(Bluetooth Low