본문 바로가기

분류 전체보기

(174)
[Android] RecyclerView Drag and Drop 회사에서 개발 업무를 진행하다, 요구사항에 맞춰서 아이템의 순서를 Drag & Drop으로 변경할 수 있도록 개발해야 했다. iOS의 경우에는 이런 이벤트를 쉽게 moveRow라는 것을 통해서 구현할 수 있다고 하는데, 안드로이드에서는 이벤트를 직접 구현하여 적용시켜야 했다. 구글링을 통해 방법을 찾아서 기능 구현을 진행했고, 그 방법에 대하여 작성해보고자 한다. 구현의 순서는 다음과 같다. 1. ItemMoveEvent Class를 만든다. 2. Activity에서 적용할 RecyclerView에 Event를 적용시킨다. 3. Adapter에서 아이템이 이동될 때의 처리를 해준다. 아주 간단하게 Drag & Drop에 대한 이벤트를 구현할 수 있어 보이지만, 관련된 정보를 찾는 것에 시간이 생각보다 오..
[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 버전과 큰 차이점을 보이지 않는 것으로 판..