본문 바로가기
SMALL

Kotlin16

[Coroutine] Coroutine이란? 1. 비동기란? 코루틴을 공부하기 전에 비동기라는 개념부터 알아야 한다. 비동기는 결론적으로 작업을 동시에 하는 것을 의미한다. 코드에서는 비동기가 필요할 때가 있다. 예를 들어 네트워크를 통해 데이터를 가져오는 작업은 메인 스레드에서 하지 못하고, 많은 데이터를 갖고 오게 되면 시간이 오래 걸린다. 앱이 느리다는 인상을 주기에 메인 스레드가 아닌 별개의 스레드에서 네트워크 작업을 해야 한다. 2. Coroutine 사용법 Android Studio 앱 단 gradle에서 아래 코드를 추가한다. implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2' 스레드는 총 3가지가 있다. Main : 메인 스레드. 화면 UI 작업이 수행되는 .. 2023. 2. 2.
[TIL] Room DB 사용법 Room DB 사용법 1. Room을 Gradle에 추가하는 방법 MainActivity에서 'Room'이라고 작성한 후 Alt + Enter해서 추가하거나 앱 단의 gradle에서 직접 아래와 같이 작성하고 우측 상단 Sync now를 클릭하면 된다. plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' } // Room DB implementation 'androidx.room:room-runtime:2.5.0' kapt 'androidx.room:room-compiler:2.5.0' 2. Entity 데이터 클래스 추가 @Entity data class User( var name: String.. 2023. 2. 2.
[TIL] Room DB와 Realm DB의 차이 공부한 것을 정리하는 용도로 작성한 Today I Learned입니다. 정확하지 않을 수 있으며 참고용으로 봐주시면 감사하겠습니다. 틀린 부분, 수정해야할 부분이 있으면 언제든 의견주시기 바랍니다. Room DB를 공부하기 전 Realm을 사용하여 데이터를 저장하고 사용했다. Realm은 다음과 같은 특징이 있다. Realm 특징 - NoSQL이다. - ORM(Object Relational Mapping)이 필요하지 않고 직관적인 객체 중심 데이터베이스이다. - 모바일앱 간 DB 공유가 가능하다. - SQL 사용하지 않고 코드로 작업할 수 있다. - 메인 스레드에서 읽기/ 쓰기를 할 수 있다. → 스레드별 객체 관리 필요하기에 다중 스레드에선 객체 관리가 어렵다. - 객체를 직접 디스크에 유지한다. -.. 2023. 1. 31.
[TIL] Observer Pattern 1. 옵저버 패턴이란?(Observer Pattern) 옵저버 패턴은 리액티브 프로그래밍의 기초가 되는 패턴이다. Observer(관찰자)는 데이터의 변화를 관찰하며, 관찰한 변화를 필요한 곳에 알린다. 따라서 옵저버 패턴은 기본적으로 발행자와 구독자 둘로 구성된다. 발행자는 변화하는 데이터이며 구독자는 데이터의 변화를 관찰해 필요한 동작을 수행한다. 과거 명령형 프로그래밍 패러다임에서는 데이터가 변할 때 그에 따라 변해야 하는 부분에 모두 적용시켜줘야 했다. 이를 보완하기 위해 리액티브 프로그래밍 패러다임인 옵저버 패턴이 만들어졌다. 2. 옵저버 패턴 사용 데이터 변경 시 어떻게 옵저버 패턴이 동작하는가? 옵저버 패턴은 데이터 변경 시 이전 값과 변화한 값을 인자로 받는 메서드를 호출하는 방식으로 동작.. 2023. 1. 17.
LIST