본문 바로가기

전체 글

(150)
[Android] Epoxy를 사용하여 RecyclerView를 쉽게 사용해보자 -3. other layout 본 게시글은 이전 글에 이어서 작성된 부분입니다. 2022.09.01 - [Android/Utility] - [Android] Epoxy를 사용하여 RecyclerView를 쉽게 사용해보자 -1. 기본 2022.09.05 - [Android/Utility] - [Android] Epoxy를 사용하여 RecyclerView를 쉽게 사용해보자 -2. DataBinding 이전 게시글에 이어서, 이번엔 Epoxy를 사용하여 흔히 사용하는 layout을 만들어보고자 한다. 이전 게시글에서는 가장 기본적으로 LinearLayout을 사용하여 recyclerView를 구현했었다. val linearlayoutManager = LinearLayoutManager(this) binding.epoxyRecyclerVie..
[Android] Epoxy를 사용하여 RecyclerView를 쉽게 사용해보자 -2. DataBinding 본 게시글은 이전 글에 이어서 작성된 부분입니다. 2022.09.01 - [Android/Utility] - [Android] Epoxy를 사용하여 RecyclerView를 쉽게 사용해보자 -1. 기본 이전 게시글에 이어서, Epoxy에 DataBinding을 적용하여 사용하는 방법에 대하여 알아보도록 하겠다. 우선, Epoxy에 Databinding을 사용하기 위해서는 Module 범위의 Gradle에 dependency를 추가해주어야 한다. implementation "com.airbnb.android:epoxy-databinding:$epoxy_version" 물론, android 블록에 dataBinding에 대한 사용 설정도 해주어야 한다. dataBinding { enabled = true }..
[Android] Epoxy를 사용하여 RecyclerView를 쉽게 사용해보자 -1. 기본 기술 블로그를 확인하다, Epoxy라는 유용해 보이는 라이브러리를 발견하였다. RecyclerView를 보다 사용하기 쉽게 도와주는 라이브러리라고 해서 찾아보고, 간단하게 적용해보았다. 해당 라이브러리를 사용하고, 가이드 한 글은 외국 블로그에서 많이 찾아볼 수 있었는데, 생각보다 따라서 구현했을 때 정상적으로 한 번에 실행되는 경우가 없었던 것 같다. 따라서, 해당 라이브러리의 Github를 토대로 필자가 적용한 순서대로 정리하여 글을 작성해 보았다. 우선, Epoxy가 무엇인가 ? Airbnb 사에서 만든 라이브러리로, RecyclerView에서 복잡한 화면을 쉽게 구현하는 것을 도와주는 라이브러리. 이다. RecyclerView를 사용하고 화면에 보여주기 위해서는 Adapter와 ViewHolder..
[Android] Fragment에서 데이터를 전달하는 3가지 방법. 최근 Single Activity Architecture (SAA)에 대해서 다시 한번 확인해보다, 해당 샘플 예제에서는 데이터를 전달하는 것에 대해서는 신경을 쓰지 않고 구현했다는 것을 알게 되었다. 기본적인 샘플이라 사용하는 방법에 대해서만 작성해 보았었는데, 이번에는 Fragment에서 데이터를 전달하는 3가지 방법에 대한 기본적인 방법에 대하여 글을 작성해보고자 한다. 해당 글에는 이전에 만들어두었던 SAA-Modular 예제를 사용하도록 하겠다. Fragment에서 데이터를 전달하는 방법은 크게 3가지가 존재한다. Bundle을 사용한다. ViewModel을 사용한다. Safe-args를 사용한다. 이 3가지 방법을 사용하여 간단하게 데이터를 전달해보도록 하겠다. 처음으로, Bundle을 사용하..
[Android] Retrofit 대신 Ktor을 사용하여 통신을 해보자. -2. DI 본 게시글은 이전 글에 이어서 작성된 부분입니다. 2022.08.12 - [Android/Network] - [Android] Retrofit 대신 Ktor을 사용하여 통신을 해보자. 지난 글에 이어서, 이번에는 Hilt와 Koin을 사용하여 Ktor을 적용해보도록 하였다. 우선, Hilt를 사용하기 위해 Gradle에 추가해주도록 한다. plugins { ... id 'com.google.dagger.hilt.android' version '2.41' apply false } Project 범위의 Gradle에 Hilt 플러그인을 추가해주고, plugins { ... id 'dagger.hilt.android.plugin' } dependencies { ... // hilt def hilt_versio..
[Android] Retrofit 대신 Ktor을 사용하여 통신을 해보자. -1. 기본 최근 안드로이드 관련 블로그를 보다가 Ktor이라는 것을 알게 되었다. Retrofit 대신해서 사용할 수 있는 비동기 통신 라이브러리라고 하는데, Retrofit만 사용하던 필자로선 상당히 흥미로운 라이브러리였다. 따라서, 아주 간단한 샘플 프로젝트를 만들어서 Ktor을 적용해보고 기본적인 사용 방법에 대해 글을 작성해보고자 한다. 우선, Ktor이 무엇인가? Ktor은 JetBrains에서 만든 Framework로 Kotlin을 사용하여 비동기 서버 및 클라이언트를 구축할 때 사용하는 오픈소스. 라고 한다. Kotlin으로 구현되어있기는 하지만, 안드로이드에 제한되어 있지 않고 다양한 플랫폼에서 사용이 가능하다는 특징을 가지고 있다. 필자는 클라이언트 입장에서 Ktor을 사용해서 Retrofit 대신..
[Android] Biometric을 사용하여 생체 인증 추가하기. 생체 인증에 대하여 찾아볼 기회가 생겨 Biometric 라이브러리를 사용하여 생체 인증을 추가해 보았다. 필자가 한 2~3년 전에 생체 인증을 적용했을 때는 Biometric이 아닌 FingerPrint를 사용했던 기억이 있는데, Biometric을 사용하도록 바뀐 지 꽤 시간이 지난 것 같다. 따라서, 생체 인증에 대하여 찾아보고 적용한 것에 대하여 간단하게 정리하는 글을 작성하고자 한다. 우선, Biometric 라이브러리를 추가해주도록 한다. // BioMetric implementation 'androidx.biometric:biometric:1.1.0' 안드로이드 공식 페이지에서는 1.2.0-alpha04 버전이 최신 버전이지만 정식 배포된 1.1.0 버전과 큰 차이점을 보이지 않는 것으로 판..
[Android] Jacoco를 사용하여 코드 커버리지 확인하기. 이전에 한창 테스트 코드에 관련하여 기본 개념을 공부할 때 코드 커버리지를 확인하는 방법이 있다는 것을 확인하고, 나중에 시간 되면 확인해봐야겠다 싶어서 메모해두었는데.. 완전히 잊고 있다가 발견하게 되어 이에 대하여 적용하고 글을 작성해보려 한다. 우선, 코드 커버리지란 무엇인가? 테스트 케이스가 얼마나 충분한가를 나타내는 지표로, 테스트를 진행하였을 때 코드 자체가 얼마나 실행되었는지에 대한 수치. 라고 한다. 즉, 개발자가 작성한 테스트 코드를 실행시켜 보고, 해당 테스트 코드가 작성된 코드를 얼마만큼 검증했는지를 수치로 나타낸 것이다. 이에 대해서는 이후 결과를 보면 확실하게 이해가 가능하니, 이해가 잘 되지 않아도 상관없다. 여기서 테스트는 크게 블랙박스 테스트와 화이트박스 테스트로 나누어지는데..