Android-Kotlin

Android-Kotlin/Coroutine

[Coroutine] Job 이란 ? - Kotlin

Job ? https://jutole.tistory.com/15 [Coroutine] launch란? 간단 사용법 - Kotlin launch ? launch는 코루틴 블록을 만드는 코루틴 빌더 중 하나 입니다. launch는 현재 스레드를 차단하지 않고 새로운 코루틴을 생성할 수 있습니다. 특정 결과값을 반환하지않고 Job객체를 반환 합니 jutole.tistory.com 우리는 launch라는 코루틴빌더를 이용해 코루틴을 생성하면 launch는 Job객체를 반환 해준다고 배웠다. 이때 Job은 무슨 역할을 하는 건지 알아보겠습니다. Job 상태변수 Job객체에는 3개의 상태변수가 있다. isActive = Job이 실행중인지 여부를 표시 isCancelled = Job Cancel이 요청되었는지 여부..

Android-Kotlin/Coroutine

[Coroutine] launch란? 간단 사용법 - Kotlin

launch ? launch는 코루틴 블록을 만드는 코루틴 빌더 중 하나 입니다. launch는 현재 스레드를 차단하지 않고 새로운 코루틴을 생성할 수 있습니다. 특정 결과값을 반환하지않고 Job객체를 반환 합니다. launch 사용해보기 fun main() { val job = CoroutineScope(Dispatchers.IO).launch() { delay(3000) println("launch완료") } } 실행해 보면 아무것도 출력되지 않는다. 그 이유는 IOThread는 MainThread가 종료되면 같이 종료되기 때문이다. 이를 해결하기 위해서는 IOThread 작업이 완료될 때까지 MainThread에서 기다려줘야 한다. suspend fun main() { val job = Corout..

Android-Kotlin/JetPack

[Android] LiveData 란?

LiveData 안드로이드 Jetpack 구성요소중 하나이다. Data의 변경을 관찰 할 수 있는 Data Holder 클래스 입니다. Observer LiveData의 Data관찰은 Observer가 한다. 안드로이드에서의 Observer는 데이터가 변경되는지 감시하고 있다가 데이터가 변경되면 UI 컨트롤러에게 알려준다. 소식을 들은 UI 컨트롤러는 변경된 데이터를 가지고 UI를 업데이트한다. Observer는 LiveData라는 데이터 홀더 클래스가 가지고 있는 데이터만 감시할 수 있다. LiveData의 장점 UI와 데이터 상태의 일치 보장 - LiveData는 데이터가 변경될 때마다 Observer 객체에게 알려줍니다. - 앱 데이터가 변경될 때마다 Observer가 대신 UI를 업데이트 하므로 ..

Android-Kotlin/Android

[Android] DataClass 란?

DataClass 데이터를 다루는 데에 최적화된 class 5가지의 메서드를 자동으로 생성해줍니다. 일반클래스로는 구현해서 사용해야할 메서드를 자동으로 생성해주니 아주 편리하다. DataClass 5가지 메서드 위에서 말했듯이 자동으로 생성해 준다. 구현할 필요가 없다. 1. equals() : 내용의 동일성 판단 2. hashcode() : 객체의 내용에서 고유한 코드를 생성 3. toString() : 포함된 속성을 보기쉽게 나타냄 4. copy() : 객체를 복사하여 똑같은 내용의 새 객체를 만듬 5. componentX() : 속성을 순서대로 반환 fun main() { println("*****일반 클래스*****\n") val a = General("홍길동",22) println(a == Ge..

Android-Kotlin/JetPack

[Android] ViewModel을 Fragment에서 간단 사용 - Kotlin

제가 보려고 쓰는 글입니다. 설명이 부족할 수 있습니다. implementation("androidx.fragment:fragment-ktx:1.4.1") buildFeatures { dataBinding true } build.gradle 추가. 1. activity_main.xml Databinding 사용하기 위해 으로 묶어줌 2. MainViewModel class MainViewModel : ViewModel() { private var num = 0 fun plus() { num++ } fun getNum() : Int{ return num } } ViewModel 간단하게 생성 3. fragment_test.xml Databinding 사용하기 위해 으로 묶어줌 4. TestFragment ..

Android-Kotlin/JetPack

[Android] ViewModel 개념

ViewModel 이란 안드로이드 공식문서에 따르면 ViewModel 클래스란 LifeCycle를 고려하여 UI 관련 데이터를 저장하고 관리하도록 설계되었습니다. 즉 Activity와 Fragment 같이 LifeCycle을 가지고 있는 View의 Model(데이터)를 저장하고 관리한다. ViewModel 의 필요성 그렇다면 왜 Activity와 Fragment의 Model(데이터)를 ViewModel로 관리할까? 간단한 예시로 필요성을 설명해 보겠습니다. Android 프레임워크는 Activity와 Fragment 같은 UI 컨트롤러의 수명 주기를 관리합니다. 프레임워크는 특정 사용자 작업이나 완전히 통제할 수 없는 기기 이벤트에 대한 응답으로 UI 컨트롤러를 제거하거나 다시 만들도록 결정할 수 있습니..

Android-Kotlin/Android

[Android] RecyclerView 개념 및 사용방법 - Kotlin

RecyclerView ? RecyclerView는 한정적인 화면에 많은 데이터를 넣을 수 있는 View 입니다. Recycle을 한국어로 하면 재활용하다 라는 뜻입니다. 즉 View를 재활용해서 사용하겠다는 말입니다. 비슷하게 역할을 하는 ListView와 비교해서 설명해보겠습니다. 위와 같이 동작하는 ListView와 RecyclerView가 있다고 할때 ListView ListView는 사용자가 스크롤 할 때마다 위에 있던 아이템은 삭제되고, 맨 아래의 아이템은 생성 되길 반복합니다. 아이템이 100개면 100번을 삭제 생성을 해야합니다. 즉 계속 삭제와 생성을 반복하므로 성능에 좋지않습니다. RecyclerView RecyclerView는 ListView의 단점을 보완하기 위해서 나왔습니다. 사용..

Android-Kotlin/Coroutine

[Coroutine] Dispatcher 란? - Kotlin

Coroutine Context는 Coroutine Dispatcher 라는 녀석을 항상 포함하는데 무엇인지 알아보겠습니다. Dispatcher Dispatch는 한국어로 "보내다" 입니다. Dispatcher는 무엇을 보내는 것입니다. 무엇을 보낼까요? 스레드(Thread)에 코루틴(Coroutine)을 보냅니다. 즉 코루틴을 만든다음에 해당 코루틴을 Dispatcher로 전송하면 Dispatcher는 자신이 관리하는 스레드풀 내의 스레드의 부하 상황에 맞춰 코루틴을 배분합니다. Android Dispatcher 안드로이드에는 Dispatcher가 이미 생성되어 있어서 별도의 Dispatcher를 생성하거나 정의하지 않아도 됩니다. Dispatchers.Default - CPU를 많이 사용하는 작업을 ..

주톨
'Android-Kotlin' 카테고리의 글 목록