RecyclerView의 특정 아이템 위치로 이동하기

RecyclerView를 사용하면서 어떤 사용자 action 등에 의해 특정 아이템 위치로 스크롤할 필요가 있습니다. 이때 손 쉽게 사용할 수 있는 방법이 있는데, 아래와 같이 기본적으로 제공되는 scrollToPosition 함수를 사용하는 것입니다. 이걸로 상황이 말끔히 해결된다면 그걸로 끝입니다. 하지만 때로는 위 함수로 부족한 Read more…

Bitbucket Pipeline으로 Android APK 빌드하기

본 포스팅에서는 Bitbucket 환경에서 Pipeline 기능을 사용하여 Android APK를 빌드하고 이를 Bitbucket Downloads 영역에 업로드하는 것을 다루고자 합니다. 젠킨스 CI 환경을 구축하는 방법도 있겠지만, 이미 Bitbucket을 사용하고 있다면 Bitbucket에서 제공하는 Pipeline 기능을 이용해보는 것도 좋겠다고 생각하여 찾아보게 되었습니다. App password Read more…

Review 2019

매년 해야겠다고 생각만했는데, 이렇게 작성해본다.막상 지난 한 해를 회고하려고 보니 뭘 했는지 복기하는게 생각보다 쉽지 않다…그래서 2020년 부터는 월 단위로 회고를 해볼까 한다. Work Sage Intacct 앱 개발 Kotlin (팀내 첫 Kotlin 앱) 비동기 처리 메커니즘으로 Rx 적용 (팀내 첫 Read more…

[Android] View Binding

Android에서는 현재 UI를 그리기 위해 XML을 사용하고 있습니다. (Compose는 논외로 합니다.) XML에 정의한 View widget들을 제어하기 위해서는 Java/Kotlin 코드로 작업을 해야하죠. 코드에서 해당 view들의 reference를 얻기 위해서 일반적으로 아래와 같은 방법을 사용합니다. 하지만 이미 Android 앱 개발을 좀 해보신 분이라면 Read more…

[Android] Handler Memory Leak

개인적으로 비동기 처리는 Rx로 거의 하는 편이지만, 종종 Handler를 쓰는 경우가 있습니다. 그런데 저 같이 기본기가 부족한 개발자의 경우 아래와 같이 메모리 릭이 잠재된 코드를 작성할 수 있습니다. 메모리 릭 가능성이 있는 코드 액티비티를 시작하자마자 handler에게 runnable을 던지고는, 액티비티를 종료합니다. Read more…

[Android] Dagger – 1. @Inject

이전 포스팅에서 Dependency Injection에 대해 간단히 언급하였습니다. 본 포스팅에서는 Dagger를 사용하여 DI를 하는 간단한 예제를 보여드리고자 합니다. 이전 포스팅에서 사용한 예제 코드를 그대로 가져와봤습니다. 직접 DI를 해주게 되면 MoviesPresenter() 생성 시 MoviesRepository()를 직접 생성하여 주입해야 하는데, Dagger를 사용하게 되면 아래와 Read more…

[Android] Dagger – intro

본 포스팅은 Dagger에 대한 내용을 다루며, 아래 문서를 베이스로 작성되었습니다. 아직 번역되지 않은 문서다 보니 학습 목적으로 재정리를 해보았습니다. https://developer.android.com/training/dependency-injection https://codelabs.developers.google.com/codelabs/android-dagger https://www.youtube.com/watch?v=o-ins1nvbDg 얼마 전 Android Dev Submit 2019이 있었습니다. Day 2 때 “An Opinionated Guide to Dependency Injection on Android” Read more…