kotlin

    [Kotlin] 안드로이드 코루틴(Coroutine) 사용해보기.

    [Kotlin] 안드로이드 코루틴(Coroutine) 사용해보기.

    Android의 Kotlin 코루틴 | Android 개발자 | Android Developers Android의 Kotlin 코루틴 코루틴은 비동기적으로 실행되는 코드를 간소화하기 위해 Android에서 사용할 수 있는 동시 실행 설계 패턴입니다. 코루틴은 Kotlin 버전 1.3에 추가되었으며 다른 언어에서 확 developer.android.com 코루틴은 경량 스레드처럼 사용할 수 있는 단위이다. 하나의 프로세스 내부에 여러 개의 스레드가 존재할 수 있고, 하나의 스레드 내부에 여러 개의 코루틴이 존재할 수 있다. 코루틴은 비동기 작업을 효율적으로 처리할 수 있도록 해주며 이점은 다음과 같다. 실행중인 스레드를 Block하지 않으므로 스레드 내에서 여러 개의 많은 코루틴을 실행할 수 있다. -> ..

    [Kotlin] 페이징 3.0 라이브러리 사용해보기 + 로딩 기능도 사용해보기(그리드 레이아웃에서 로딩 가운데에 표시해보기.)

    [Kotlin] 페이징 3.0 라이브러리 사용해보기 + 로딩 기능도 사용해보기(그리드 레이아웃에서 로딩 가운데에 표시해보기.)

    페이징 라이브러리 개요 | Android 개발자 | Android Developers 페이징 라이브러리 개요 Android Jetpack의 구성요소 페이징 라이브러리를 사용하면 로컬 저장소에서나 네트워크를 통해 대규모 데이터 세트의 데이터 페이지를 로드하고 표시할 수 있습니다. developer.android.com 안드로이드 개발을 하다보면, RecyclerView를 사용할 때가 많다. 그런데 네트워크 통신을 통해 List 형태의 데이터를 받아올 때 너무 많은 데이터를 한 번에 받아오도록 구현할 경우에는 로딩이 오래 걸리고, 사용자로 하여금 데이터를 많이 사용하도록 하게 된다. 이를 방지하기 위해 Server의 API에서 페이지 번호를 나누어서 내려주게 되는데, 안드로이드에서는 이것을 받기 위해 예전에..

    [Kotlin] 안드로이드 디자인 패턴 예시 프로젝트 - MVC, MVP, MVVM (같은 기능, 다른 코드로 살펴보기.)

    [Kotlin] 안드로이드 디자인 패턴 예시 프로젝트 - MVC, MVP, MVVM (같은 기능, 다른 코드로 살펴보기.)

    앱 아키텍처 가이드 | Android 개발자 | Android Developers 앱 아키텍처 가이드 이 가이드에는 고품질의 강력한 앱을 빌드하기 위한 권장사항 및 권장 아키텍처가 포함되어 있습니다. 이 페이지는 Android 프레임워크 기본을 잘 아는 사용자를 대상으로 합 developer.android.com 안드로이드에서는 사용하는 디자인 패턴들이 여러 가지가 있다. 예전에는 대표적인 디자인 패턴이 MVC (Model - View - Controller)였는데, 요새는 MVVM (Model - View - ViewModel)인 것 같다. MVP (Model - View - Presenter) 패턴은 잘 못 본것 같은데, 우아한 형제들에서 런칭중인 배달의 민족 앱은 MVP + Repository 디자..

    [Kotlin] 안드로이드 AAC ViewModel을 Fragment에서 사용 시, LiveData Observe가 두 번 되는 현상 해결법. (Owner, Event Wrapper)

    [Kotlin] 안드로이드 AAC ViewModel을 Fragment에서 사용 시, LiveData Observe가 두 번 되는 현상 해결법. (Owner, Event Wrapper)

    MVVM 디자인 패턴의 예제 프로젝트를 만들던 도중에 다음과 버그가 일어났다. 화면을 먼저 살펴보자. 메인화면과 MVVM 버튼을 눌렀을 때 화면전환이 된 모습이다. 실제로 Room DB / Retrofit2 & OkHttp 와 같은 DB를 접근해서 가져오는 것은 아니고, 특정 클래스에 미리 담아놓은 값들을 가져오는 것이다. 해당 화면에서 AAC ViewModel, LiveData를 사용해서 수정 완료 버튼을 누르면 AAC ViewModel이 Repository를 통해서 값을 수정하게 되는 로직이다. 코드는 조만간 정리될 디자인 패턴 정리 글에 의해 올려질 예정이지만 잠깐 살펴보자면, 모델 클래스 /** * Design Pattern에서 Model이란, Data를 포함해서 Data를 송, 수신하는 모든 행..

    [Kotlin] 안드로이드 AAC ViewModel을 MVVM패턴을 적용해서 Room DB를 사용해서 로컬 DB 저장해 보기. (부제 : 메모 저장 앱 만들기) (+@, TypeConverter 사용)

    [Kotlin] 안드로이드 AAC ViewModel을 MVVM패턴을 적용해서 Room DB를 사용해서 로컬 DB 저장해 보기. (부제 : 메모 저장 앱 만들기) (+@, TypeConverter 사용)

    Room을 사용하여 로컬 데이터베이스에 데이터 저장 | Android 개발자 | Android Developers Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보기 developer.android.com Room | Android 개발자 | Android Developers Room Room 지속성 라이브러리는 SQLite에 추상화 레이어를 제공하여 SQLite를 완벽히 활용하면서 더 견고한 데이터베이스 액세스를 가능하게 합니다. 최근 업데이트 현재 안정화 버전 다음 버전 후보 developer.android.com Room은 SQLite를 활용하는 데이터 베이스이다. 위 링크에서는 다음과 같이 설명하고 있다. 상당한 양의 구조화된 데이터를 처리하는 앱은 데이터를 로컬로 유지하여 대..

    [Kotlin] 안드로이드 AAC ViewModel을 MVVM패턴을 적용해서 Retrofit2 / Okhttp3 사용해서 Solved.ac API 호출해보기. (백준 정보 가져오기) (+@ Glide를 View Binding에서 사용해보기)

    [Kotlin] 안드로이드 AAC ViewModel을 MVVM패턴을 적용해서 Retrofit2 / Okhttp3 사용해서 Solved.ac API 호출해보기. (백준 정보 가져오기) (+@ Glide를 View Binding에서 사용해보기)

    @solvedac/unofficial-documentation 이 프로젝트는 solved.ac API를 문서화하는 커뮤니티 프로젝트입니다. 이 저장소는 원작자의 요청에 따라 언제든 지워질 수 있으며, 현재 API와 일치하지 않을 수도 있는 점 양해 부탁드립니다. solvedac.github.io 이번에 사용해 볼 API는 위에 기록되어 있다. solved.ac에서 사용하는 API이며, user에 있는 사용자 정보 가져오기 API를 호출해 볼 것이다. 2021년 11월 25일 기준으로 작동하는 API이며, 원작자의 요청에 따라 언제든 지워질 수 있고, 수정될 수 있다. 사용자 정보와 이미지를 불러와서 띄워볼 것이다. 위와같은 정보들이 불러와진다. AAC ViewModel이란? MVVM에서의 ViewMode..