[Kotlin] 코틀린 언어 소개

< 코틀린 언어 소개 >
코틀린에서는 ; 생략 가능하다.
한 줄에 여러 명령을 작성하는 경우에는 반드시 ;로 구분한다.
프로젝트 시작 시 아무것도 없는 Empty Views Activity로 프로젝트를 생성하고,
프로젝트 Name의 첫 글자는 대문자로 설정한다.
name을 설정하면 package name이 자동으로 설정된다.
프로젝트를 저장하는 save location에는 한글이 포함되면 안 된다.
안드로이드 스튜디오는 에디터, 안드로이드 sdk는 컴파일시켜 준다.
ex) API 24 ("Nougat"; Android 7.0) ==> API 24, 7.0 이후의 sdk에서는 모두 실행 가능하다.
mainActivity에서 id값 설정은 삭제하고 시작하자.
gradle sync를 잘 시켜주자. sync는 처음 앱을 만들고 동기화를 시켜주는 작업이다.
sync는 app과 gradle을 동기화시켜 주는 것이다.
< 주요 파일 환경설정>
MainActivity.kt
activity_main.xml
- SDK 추가 설정
File -> Settings -> Languages&Frameworks -> Android SDK -> SDK Tools -> Google Play services 체크
- 클래스를 자동으로 import 하기 위해
File -> Settings -> Editor -> General -> Auto Import -> Kotlin -> Add unambiguous imports on the fly & Optimize imports on the fly 체크
- 에뮬레이터가 가끔 죽을 때, Wipe Data로 기존 데이터를 삭제
Device Manager ->...(메뉴) -> Wipe Data or Delete 후 새로운 에뮬레이터 추가 (+기호)
- RUN 구조
에뮬레이터와 프로젝트를 선택해 run 시키면 에뮬레이터에서 앱이 실행된다.
- Log Cat
컴파일한 여러 정보의 로그들을 볼 수 있다.
<안드로이드 소개>
안드로이드는 공개 운영체제인 리눅스를 기반으로 합니다.
안드로이드 앱은 자바나 코틀린 언어를 이용해 개발합니다.
안드로이드 운영체제의 주요 부분과 라이브러리, 구글에서 만든 앱 등의 코드는 대부분 공개되어 있습니다.
안드로이드 스마트폰은 구글 뿐 아니라 여러 제조업체에서 만들 수 있습니다.
안드로이드 앱은 구글의 플레이 스토어뿐만 아니라 다양한 방법으로 사용자에게 배포할 수 있습니다.
안드로이드 플랫폼에서는 모든 응용 프로그램이 평등하다는 사상을 바탕으로, 모바일에 기본으로 탑재된 앱과 개발자가 만든 앱이 똑같은 환경에서 똑같은 API를 이용합니다.
안드로이드는 자바 클래스를 런타임 때 그대로 실행하지 않고 DEX 파일로 컴파일합니다.
DEX 파일을 해석하는 ARTAndroid runtime에서 실행합니다.
<안드로이드 운영체제의 구조>
리눅스 커널 : 안드로이드는 리눅스에 기반을 둔 오픈소스 소프트웨어 스택입니다.
하드웨어 추상화 레이어 : 상위의 자바 API 프레임워크에서 하드웨어 기능을 이용할 수 있게 표준 인터페이스를 제공
안드로이드 런타임 : ART라고 하며 앱을 실행하는 역할
네이티브 C/C++ 라이브러리 : 네이티브 C/C++ 라이브러리를 이용할 수도 있는데 이를 안드로이드 NDK라고 합니다.
자바 API 프레임워크 : 앱을 개발할 때 사용하는 자바 API
<컴포넌트를 기반 개발>
컴포넌트는 애플리케이션의 구성 요소이다.
안드로이드에서는 클래스로 컴포넌트 개발을 합니다.
안드로이드 컴포넌트의 4가지 종류
액티비티 : 화면을 구성하는 컴포넌트입니다.
서비스 백그라운드 : 작업을 하는 컴포넌트입니다.
콘텐츠 프로바이더 : 앱의 데이터를 공유하는 컴포넌트입니다.
브로드캐스트 리시버 시스템 : 이벤트가 발생할 때 실행되게 하는 컴포넌트입니다.
주로 액티비티 컴포넌트를 활용합니다.
여러 개의 화면하나가 액티비티하나이다.
여러 화면이 존재한다면 액티비티가 여러 개 존재한다고 볼 수 있다.
< 액티비티끼리 직접적인 연결 불가 >
액티비티 간의 소통은 안드로이드 시스템을 통해서 처리한다. 액티비티 사이, 컴포넌트 사이의 직접적인 연결을 허용하지 않는다. 컴포넌트는 앱 안에서 독립된 실행 단위이다. 컴포넌트끼리 서로 종속되지 않아서 코드 결합이 발생하지 않는다. 컴포넌트가 앱 내에서 독립해서 실행되는 특징 덕분에 앱의 실행 시점이 다양할 수 있습니다. 안드로이드 앱에는 메인 함수 개념이 없다고 말합니다. 다른 애플리케이션을 라이브러리처럼 이용할 수 있습니다.
'Front-End > Kotlin' 카테고리의 다른 글
[Kotlin] 안드로이드 XML, 모듈 생성, View 속성 (2) | 2024.04.15 |
---|---|
[Kotlin] build.gradle, MainActivity.kt, activitiy_main.xml (2) | 2024.04.14 |
[ Kotlin ] 기본문법 3 상속, 람다, 익명 함수 (3) | 2024.04.05 |
[ Kotlin ] 기본문법 2 조건문, 반복문, 객체지향 (1) | 2024.04.05 |
[ Kotlin ] 기본문법 입출력, 자료형, 함수, 배열 (1) | 2024.04.03 |