본문 바로가기

모바일 APP/Android with Kotlin20

코틀린 이란? 코틀린은 젯브레인에서 오픈소스 그룹을 만들어 개발한 프로그래밍 언어이다. 2011년 처음 공개되어 2017년 구글에서 안드로이드 공식언어로 지정하면서 유명해졌다. 자바(Java)가 인도네시아 섬 이름을 따서 사용했든 코틀린(Kotlin)도 러시아 섬 이름을에서 따왔다 ?? 섬에 무슨 사연이 있나?? 코틀린도 자바의 가상 머신(JVM)기반을 둔 언어기에 안드로이드 앱 개발이 가능하다. 코틀린은 .kt 확장자를 사용하며 코틀린 컴파일러(kotlinc)가 .kt 파일을 컴파일하면 자바 바이트 코드가 만들어진다. 자바보다 나은점? 1. 열라 간결하다. 2. Null 허용과 Null 불허용으로 구분 널안정성을 안정성 확보한다. 객체지향 프로그래밍에서 객체는 Null 상태가 가능해서 런타임 오류인 널 포인트 예외가.. 2021. 12. 13.
모듈 구성 요소 그래들 빌드 설정 파일 (build.gradle) : 그래들은 안드로이드 앱의 빌드 도구로 앱을 빌드하는 데 필요한 설정을 등록한다. 그래들 파일은 2개가 있다 - Project: AndroidLab - Module: Android.app 대부분의 빌드 설정은 모듈 그래들 파일에 작성한다. // 플러그인 선언 필요에 따라 추가 가능 plugins { id 'com.android.application' id 'kotlin-android' } // 컴파일 및 빌드 버전 설정 compiledSdkVersion 30 buildToolsVersion "30.0.2" // 앱의 식별자를 설정 // 고유한 문자열로 지정해야 한다. // 만약 구글플레이 스토어에 똑같은 식별자가 있다면 플레이 스토어에 등록되지 않는다... 2021. 12. 5.
컴포넌트 애플리케이션의 구성하는 단위 즉 하나의 애플리케이션은 여러 컴포넌트로 구성 컴포넌트파일은 JAR, DLL 파일이 있다. 안드로이드 에서는 클래스로 컴포넌트를 개발한다. 앱이 실행될 때 클래스의 객체 생성부터 소멸 까지 생명주기 관리를 개발자 코드에서 한다면 일반 클래스 개발자가 만들기는 했지만 생명주기를 안드로이드 시스템에서 관리한다면 컴포넌트 클래스이다. 액티비티(Activity): 화면을 구성하는 컴포넌트 앱의 화면을 안드로이드폰에 출력하려면 액티비티를 만들어야 한다. 서비스(Service): 백그라운드 작업을 하는 컴포넌트이다. 화면에 상관없이 백그라운드에서 장시간 실행해야 한다. 콘텐츠 프로바이더(ContentProvider): 앱의 데이터를 공유하는 컴포넌트 즉 하나의 앱이 자신의 데이터를 다른.. 2021. 12. 2.
안드로이드 운영체제의 구조 리눅스 커널 (Linux Kernel) : 리눅스에 기반을 둔 오픈소스 소프트웨어 스택 하드웨어 추상화 레이어 (hardware abstraction layer, HAL) : 하드웨어의 추상화 계층으로, 상위의 자바 API프레임워크에서 하드웨어 기능을 이용할 수 있게 표준 인터페이스를 제공 안드로이드 런타임 (Android runtime): ART라고 하며 앱을 실행하는 역할을 한다. 안드로이드 5.0버전 이전에는 Dalvik 안드로이드 5.0버전 이상부터는 ART로 변경됨 안드로이드 앱은 DEX파일로 빌드 되는데 이 DEX 파일을 해석해서 실행하는 주체가 바로 ART이다. 자바에서 개발자가 소스코드를 작성한 후 컴파일하면 클래스 파일이 만드어진다. 이클래스 파일을 자바 가상 머신에서 실행한다. 그러나 .. 2021. 11. 30.