Developing Myself Everyday
article thumbnail
안드로이드의 부팅과 애플리케이션의 실행
Android 2023. 8. 20. 14:46

이 게시글은 아래의 글을 참고해서 작성했습니다. Android CPU, Compilers, D8 & R8 Imagine you have an important space mission ahead. You need a spacecraft that won’t get you into much trouble on the way. You may opt in a… proandroiddev.com JVM 자바로 작성한 코드를 컴퓨터에 이해시키리면 컴퓨터가 이해할 수 있는 언어로 컴파일해야 합니다. 다만 세상에는 다양한 운영체제가 있고, 각 운영체제에 맞는 언어로 컴파일하는 것은 자바가 말하는 WORA("Write Once Run Anywhere" - 한 번 작성하면 모든 곳에서 돌릴 수 있다)가 아닙니다. 이때 나타..

article thumbnail
Android의 Build Process
Android 2023. 8. 20. 12:58

Gradle Android Studio의 빌드 시스템은 Gradle이라는 툴체인 프레임워크를 기반으로 하며 Android Gradle Plugin(AGP)는 안드로이드 앱을 빌드하는 과정을 내부적으로 처리해줍니다. Gradle과 Android Gradle 플러그인은 Android 스튜디오와 독립적으로 실행됩니다. 즉, Android 스튜디오 내에서, 컴퓨터의 명령줄에서, 또는 Android 스튜디오가 설치되지 않은 컴퓨터(예: 지속적 통합 서버)에서 Android 앱을 빌드할 수 있습니다. 툴체인 프레임워크란? 툴체인(toolchain) 프레임워크는 소프트웨어 개발 및 컴파일링 과정을 관리하고 자동화하기 위한 도구의 모음입니다. 주로 하드웨어 아키텍처에 따라 코드를 컴파일하고 빌드하여 실행 가능한 바이너..

article thumbnail
[AAC] Paging 라이브러리
Android/AAC 2023. 8. 16. 19:46

이 게시글은 아래의 공식 문서를 보고 작성했습니다. 페이징 라이브러리 개요 | Android 개발자 | Android Developers 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Paging 라이브러리 개요 Android Jetpack의 구성요소 Paging 라이브러리를 사용하면 로컬 저장소에서나 네트워크 developer.android.com Android Paging 고급 Codelab | Android Developers 이 Codelab에서는 Paging 라이브러리를 포함하도록 샘플 앱을 수정하여 앱의 메모리 공간을 줄입니다. developer.android.com Paging 라이브러리를 사용하는 이유 Android Paging 라이브러리는 안드로이드 앱에서..

article thumbnail
[Kotlin] 내장 자료형 - week 6
스터디/코틀린 언어 2023. 8. 16. 13:59

내장 자료형 코틀린에서 기본으로 제공하는 클래스를 내장 자료형이라고 합니다. Number(숫자) 클래스 아래는 코틀린에서 제공하는 숫자 클래스의 상위 클래스인 Number 클래스입니다. public abstract class Number { /** * Returns the value of this number as a [Double], which may involve rounding. */ public abstract fun toDouble(): Double /** * Returns the value of this number as a [Float], which may involve rounding. */ public abstract fun toFloat(): Float /** * Returns the ..

article thumbnail
[AAC] LiveData
Android/AAC 2023. 8. 12. 13:43

이 게시글은 아래의 공식 문서를 보고 작성했습니다. LiveData 개요 | Android 개발자 | Android Developers LiveData를 사용하여 수명 주기를 인식하는 방식으로 데이터를 처리합니다. developer.android.com LiveData란? `LiveData` 는 관찰 가능한 데이터 홀더 클래스입니다. 데이터의 변경 사항을 관찰하고 이에 대응하는 UI 업데이트를 수행하기 위해 사용됩니다. `LiveData` 는 `LifeCycle`이 정의한 안드로이드 앱의 라이브사이클에 반응합니다. `LiveData` 는 `Observer` 클래스로 표현되는 Observer의 수명 주기가 `STARTED` 또는 `RESUMED` 상태이면 `LiveData` 는 활성 상태가 됩니다. `Li..

17406번: 배열 돌리기 4 - Kotlin
백준/브루트포스 2023. 8. 8. 18:44

17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net 문제 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 값은 4이다. 1 2 3 2 1 1 4 5 6 배열은 회전 연산을 수행할 수 있다. 회전 연산은 세 정수 (r, c, s)로 이루어져 있고, 가장 왼쪽 윗 칸이 (r-s, c-s), 가장 오른쪽 아랫 칸이 (r+s,..

[Kotlin] 클래스 (2) - week 5
스터디/코틀린 언어 2023. 8. 8. 15:43

이 게시글은 아래의 게시글와 이어집니다. [Kotlin] 클래스 (1) - week 5 클래스(Class)란? 클래스는 객체지향에서 가장 중요한 도구입니다. 클래스는 유사한 특성과 동작을 가진 객체들을 만들기 위한 템플릿 역할을 합니다. 클래스는 객체의 속성(Attribute)과 메서드(meth everyday-develop-myself.tistory.com 특수한 기능을 수행하는 클래스 내포 클래스(Nested Class) 내포 클래스는 내부의 클래스가 외부의 클래스와 연결되지 않는 정적 클래스입니다. 외부 클래스의 멤버에 접근할 수 없다는 특징이 있습니다. class Outer { private val outerProperty: Int = 10 class Nested { fun nestedMethod..

[Kotlin] 클래스 (1) - week 5
스터디/코틀린 언어 2023. 8. 7. 14:28

클래스(Class)란? 클래스는 객체지향에서 가장 중요한 도구입니다. 클래스는 유사한 특성과 동작을 가진 객체들을 만들기 위한 템플릿 역할을 합니다. 클래스는 객체의 속성(Attribute)과 메서드(method)를 정의하는데 사용되며, 이러한 속성과 메서드는 해당 클래스로부터 생성된 객체에 적용됩니다. 생성자 (Constructor) 코틀린의 클래스 생성자는 클래스의 인스턴스를 초기화하기 위한 특수한 예약어로, 클래스 정의 시 초기화 작업을 수행하거나 속성 값을 설정하는 역할을 합니다. 코틀린에서는 주 생성자(primary constructor)와 보조 생성자(secondary constructor)를 사용하여 클래스 생성자를 정의할 수 있습니다. 주 생성자(primary constructor) 주 생..