본문 바로가기
카테고리 없음

패스트캠퍼스 챌린지 최종 후기, 30개 프로젝트로 배우는 Android 앱 개발 with Kotlin 초격차 패키지 Online

by hippoapple 2021. 10. 14.

어느새 패스트캠퍼스 챌린지 최종 후기를 쓰게 되었다.

좋은 기회로 안드로이드 앱 개발에 도전할 수 있었다. 

 

하나 하나 기능을 배우면서 따라하니 

몰랐던 부분도 이해가 가고 앱이 만들어 지는 과정을 

직접 배울 수 있어서 재미 있었다. 

 

<코틀린 문법>

안드로이드에서는 코틀린 문법을 사용한다.

안드로이드 앱을 어떻게 만들 수 있을지 배워본다.

총 30개의 실습 프로젝트를 통해 배움

코틀린 안드로이드에 대해 배워 봄

 

코트린은 어떻게 사용이 될까?

코틀린은 젯브레인 회사에서 만듬

인텔리제이를 만듬

인텔리제이를 기반으로 만든 것이 안드로이드

 

현재 최신 버젼은 4.1.2

구글과 젯브레인이라는 회사는 긴밀한 협력

2016년도에 코틀린 1.0을 만듬

자바와 호환성이 높음

 

자바로 개발할 수 있는 것은 코틀린으로 개발 가능

2017년 구글 커퍼런스에서 코틀린을 공식언어로 채택

공식언어의 의미는 구글이 공식 지원을 하겠다는 뜻

 

사용해야 할 안드로이 sdk가 코틀린으로 되어 있다

 

2019년에 안드로이드 퍼스트 언어로 선정

자바 언어

현대 언어 적인 부분이 포함

자바보다 어떤것이 편한지 공부해 보자

 

코틀린 문법에 대해 간략히 알아보자

잘 모르더라도 따라하면서 해보자

 

Hello World를 작성하면서 차이

세미콜론이 없음

 

함수 선언이 fun

표현식, 구문식

두 함수는 동작이 같다.

수학의 함수와 비슷하다.

1차 그래프가 유추

x에 따라 y값이 달라짐

sum함수가 a+b

다른 문장으로 된 코드도 작성 가능

if문은 뒤에서 다룸

 

코틀린에서는 변수, 상수 선언을 val로 사용

인트형 을 선언해 주지 않아도 타입추론을 해서 인트로 인식

 

Value, Variable

string, double 형도 타입추론으로 사용

null- safe

꼭 초기화를 해 주어야 함

다음 줄에 초기화 해주어도 괜찮음

 

Type

numbers, 그 외

 

우리는 숫자와 글자를 구분이 쉽지만

1과 0으로 이루어진 글만 인식이 가능한 컴퓨터

 

스트링은 특별함

숫자를 더하면 플러스 연산이 되지만

스트링을 더하면 앞과 뒤를 연결해 줌

 

물음표가 붙어 있는 불리언과 붙지 않은 불리언이 있음

트루와 펄스 

for 반복문

자바와 조금 다른 점

int = 0

step = 두칸씩 띄어서 가겠다

downTo =  위에서 내리가겠다

untill 인덱스가 0부터 시작함, 0부터 10까지에 10이 포함 되지 않음

listOf넘버를 하나씩 꺼내서 100,200,300 찍힘

다른 컬렉션 랩이나 

 

when문

 

왜 코틀린 코드를 사용해야 하는지

코틀린은 Null Safe

널 포인트 입셉션

널포인트 타입,널세이프 타입

오브젝트 C

 

자바보다는 간량한 형태

Scope Function( apply, with, let, also, run)

범위 함수

람다식을 사용하면 범위 가능

한눈에 알 수 있게 해줌

 

함수는 어떤 때에 사용하면 좋을지!

apply 함수

반환 값으로는 

디스로 생략 가능

val person = Person().apply {

firstName = “Fast”

lastName = “Campus”

}

 

이러한 방법으로 프로젝트 진행



<  안드로이드 설치하기 >

구글 창에 

안드로이드 스튜디오 다운로드

디벨로퍼 안드로이드 닷컴

안드로이드 스튜디오 다운로드를 클릭

 

안드로이드 개발자 공식 페이지

검색으로 들어왔던 것과 같은 

다운로드 옵션

윈도우 버젼으로 접속시 윈도우 버젼으로 다운됨

4.1.2 최신 버전으로 다운

 

다운을 누르게 되면 약관 동의가 나옴

동의하기

 

안드로이드 설치파일이 900메가 정도 됨

사용하는 인터넷 환경에 따라 속도차이가 날 수 있음

5분~6분정도 걸림

다운로드 마친 후에 수업 마저 진행

본인의 pc 계정이 한글로 되어 있으면 문제가 생길 수 있음

주소에 한글이 섞이면 에러가 날 수 있음

한글 이름을 영어로 수정

 

윈도우 → 내 pc → 사용자

본인이 사용하는 이름

영어로 되어 있는지 확인

 

안드로이드 설치 파일은 필수

옵션은 안드로이드 가상기기 

결과물을 확인하기 위해서 실제로 확인 필요

두가지방법이 있다. 내 휴대폰에 직접 설치, 안드로이드 버츄얼 디바이스를 통해서 실행

나는 내 폰이 안드로이드여서 안드로이드로 바로 해도 된다.

 

인스톨 시작

안드로이드 11이란, 예전에는 안드로이드 버전이 알파벳순으로 간식이름을 붙였었음

진저브래드 등 10부터는 숫자로 바꿔 부르기로 함. 헷갈릴 수 있음

다운로드시 시간이 걸림

에뮬레이터가 시간이 걸림

 

볼 수 있다.

설치가 완료 될 때까지

finish

안드로이드 첫 화면이 뜸

안드로이드 sdk가 설치가 잘 되었는지

컨피규어를 눌러 확인

 

sdk가 잘 설치 되어 있는지

이전버전으로 사용하려면 다른 버젼을 눌러 apply

셋팅 여러가지 바꿀 수 있음

자바의 경우 자바를 따로 설치하지 않아도

안드로이드 스튜디오에 내장이 되어 있음

프로젝트 스트럭쳐

안드로이드 jrd

 

맥의 경우는?

윈도우 os면 스킵

구글창에 안드로이드 스튜디오 다운로드 검색

두번째 공식 사이트로 접속

직접 개발자 공식 사이트로 들어가도 가능

 

약관 동의

다운로드가 시작이 됨,

877MB 

dmz 파일을 열어 줌

복사가 진행 되면서 설치가 완료

안드로이드 스튜디오 실행

열기

처음에 안드로이드 실행시 Missing SDK 실제로 개발 환경이 셋팅 덜 됨

sdk 다운로드

sdk와 안드로이드 11버전이 설치 됨

현재 api 중 최신이기 때문

버전이 생소 할 수 있음

안드로이드 api 경우 버전이 많이 올라감

갤럭시 21이다 보니 안드로이드 11과 맞춰짐

finish

 

첫 화면이 나오게 됨

안드로이드가 정상적으로 설치된 경우

sdk 매니저

인스톨드

이전버전의 sdk가 필요시 설치

 

안드로이드 버추얼 디바이스를 만들어봄

안드로이드 버추얼 디바이스를 만드는 방법은

AVD 매니저

내 하드웨어를 고를 수 있는 함수 

웨어, 태블릿 등

이 여러개의 디바이스도 휴대폰 크기도 변해옴

갤럭시, lg 등 다양한 디바이스를 확인할 필요가 있음

픽셀 2로 실습해 봄

플레이 스토어 마크는 이 하드웨어에 play store가 있느냐 없느냐

넥스트

여러가지 종류의 안드로이드 버전이 있음

안드로이드 11버전을 다운로드

 

설치가 완료가 됨

안드로이드 11버전으로 시스템 설정

여러가지 설정

 

안드로이드 디바이스가 작동 됨

맥 OS에서 실습을 하는데, 윈도우 디바이스에서 하면 조금 느릴 수 있음

실습을 진행 하실 때 느리다고 생각이 되면 휴대폰을 연결해서 써도 됨

play store에서 직접 다운 받아서 써볼 수 있음

실제 휴대폰과 유사한 환경 구축

설정을 해줌

셋팅스 → 시스템 → 어드벤스드 → 빌드 넘버 → 여러번 클릭 → 개발자 모드 변경

활성화 됨 들어가서 눌러봄

안드로이드 AVD를 해봄

실습 진행

 

안드로이드 앱을 내 핸드폰에 설치하는 실습

안드로이드 버츄얼 디바이스르 열어봄

본인의 핸드폰을 연결해서 어떻게 휴대폰에 설치를 할 수 있을지

크리에이트 뉴 프로젝트

프로젝트 생성

Empty Activity

네임 설정, aop-part1-chapter02

패키지 네임 - 다른 곳에 배포시 같은 이름을 가진 앱이 있을 경우, 패키지 네임으로 구분하기 위함

내가 사용하는 도메인

언어 선택은 코틀린과 자바 중에 사용 가능

코틀린 퍼스트이기에 코틀린으로 설치되어 있음

내가 만드는 앱이

어느 하위 버전까지 진행을 할 것이냐

안드로이드 4.1

 

API 30버전 

셋팅을 눌러서 AVD완료

 

안드로이드 스튜디오를 훓어보자

안드로이드 슈튜디오에 대해 알아보자

 

실행하면 시작화면이 나옴

샘플 프로젝트가 있음

 

앞으로 프로젝트가 나올 때마다

기록으로 남게 됨

이 목록을 지워서 나오지 않게 되더라도

지난 프로젝트 실행

안드로이드에서 찾아서 열수 있음

 

코드 입력 화면이 나오면서 개발 가능

여러개의 창을 동시에 볼 수 있음

두 파일을 동시에 열어서 편집할 상황이 생기면

화면 분할 기능 사용

 

샘플 프로젝트를 만들어 봄

이 버튼이 어느 휴대폰에 설치를 할 것인지

버그 모양으로 되어 있는 버튼들은

안드로이드 앱에서 디버깅을 할 때 사용하는 버튼

버그를 잡는 것을 생각

10이라고 넣었는데 오류가 날 시 체크 가능

 

소스 에디터

숨겨진 버튼

가장 오른편에 그리들

안드로이드 앱을 빌드하는데 있어서

도움을 줌.

애뮬레이터, 노 러닝 에뮬레이터

안드로이드 4.1버전부터 생김

에뮬레이터도 함께 켜서 코딩을 할 수 있도록 해줌

안드로이드 스튜디오가 떠 있을 때는

동시에 작업 가능

 

TO DO

 

<BMI 계산기>

처음 프로젝트에서는 어떤 기능을 배웠을까?

BMI계산기란? 키와 체중을 이용하여 몸의 비만도를 측정하는 방법

 

레이아웃 그리는 방법

LinearLayout 사용하기

TextView의 속성들과 사용방법

EditText의 속성들과 사용방법

Button 사용하는 법

버그 수정해보기

Activity에 대해 알아보기

등을 배울 수 있었다.

 

안드로이드 레이아웃 속성으로 배운 것이

그래비티→ 센터,버텀이동

테스트 사이즈 , 텍스트  

스트링 리소스,

인풋타입이 여러가지가 있다.

다른 인풋타입이 들어왔을 때는 어떤 예외처리를 해야하는지

액티비티는 안드로이드가 실행되는 도화지와 같은 개념이다.

onCreate

R파일에서 컨텐츠 뷰를 연결할 수 있다.

레이아웃 안에 있는 각각의 컴포넌트의 이름을 지어 줄 수 있다. 

 

액션을 추가하기 위해서 셋을 하는 방법

컬러추가하는 방법,

애플리케이션의 속성, 액티비티, 권한 들이 어떻게 저장되어 있는지 배움

최종적으로 MBI를 계산할 수 있는 것을 해봄

다른 프로젝트와 병행해서 실력을 늘려보자

 

<로또 번호 추첨기>

Layout을 그리는 법

ConstraintLayout 사용하기

NumberPicker의 속성들과 사용하는 법

TextView의 속성들과 사용하는 법(복습)

 

쉐이프 드로어블 리소스

리소스 폴더 안에 드로어블이 있다.

그 안에는 이미지나 화면에 그릴 수 있는 것이 들어간다.

화면에 그릴 수 있으며 다른 그래픽에 대한 일반적인 개념이다.

여러가지 드로블이 있음

그 중 쉐이프 드로어블에 대해 알아보겠음

XML에 정의된 일반 쉐이퍼블

XML형식으로 된 문법을 이용해서 드로어블 객체를 그리는 법

PNG 앱에 넣고 비트맵에 넣는다

앱사이즈가 커지는 단점을 이길 수 있다.

 

만들 앱은 로또번호 1~45까지 숫자가 있고,

고정번호 추가 + 자동번호 생성 기능

10단위 숫자별로 컬러를 입히는 방법

원형과 백그라운드 색을 바꾸는 방식

 

사용할 코틀린 문법으로는 

랜덤 클래스 

 

코틀린 문법

apply

When

Random

Collection

Set,List

람다함수

 

콘스트레이트 레이아웃을 처음 써봄

제한된 조건으로 추가하는 방법

 

넘버 애드 버튼에 엔드를 클리어버튼에 스타트에 붙여주세요

처럼 제약조건을 넣어 추가 함

 

넘버 픽커란 숫자를 선택할 수 있음

넘버닷 벨류를 통해서

버튼에 셋 온클리너 리스터

 

쉐이프 드로어블을 추가하는 방법을 해봄

소리드에 컬러, 사이즈를 추가

쉽고 빠르게 수정이 가능한 드로어블리소스

백그라운드에 추가

 

apply를 사용해봄

어플라이 사용했던 것 처럼 디스로 사용함

초기화나 데이터를 넣어 놓는 곳에서 많이 사용

 

When문 사용해봄

자바의 스위치 문과 비슷하게 넘버를 받음

자바와 다르게 케이스가 아닌 화살표를 사용

익스프레션, 함수의 리턴형

인이라는 연산자를 통해서 실제로 인에 속하는지 안하는지 

알고리즘을 만들면서도 사용

리스트와 셋, 순차적으로 쌓이는 방법

 

등을 배울 수 있었다

 

<비밀 다이어리>

위에 배운 기능들에 더하여

암호가 있는 비밀 다이어리도 구현해 보았다.



하나한 기능을 쌓아가면서 배우는  “30개 프로젝트로 배우는 Android 앱 개발 with Kotlin 초격차 패키지 Online” 과정은 많이 부족했던 나에게 부스터 같은 역할을 해주었다. 

앞으로도 차근 차근 배워나가면서 개발자로서 성장해 나가고 싶다.











https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

패스트캠퍼스, 패캠챌린지, 직장인인강, 직장인자기계발, 패스트캠퍼스후기, 30개 프로젝트로 배우는 Android 앱 개발 with Kotlin 초격차 패키지 Online