본문 바로가기

함께하는 이야기들16

[2020 05] '나는 술찌다' 프로젝트 (Android) 프로젝트 명 - 나는 술찌다 (Hate Alcohol Calculator) 프로젝트 모티브 주변에 체질상 술을 잘 마시지 못해서 친구 모임이나 회식자리에서도 술을 잘 안 마시는데 매번 1/N 로 술값을 더치페이하여 마시지도 않은 술값을 내는 사람들을 보며 영감을 얻어, 이들이 호소하는 억울함에서 아이디어를 착안하게 되었다. 프로젝트 개요 술을 많이 못먹는 사람들은 술자리에서술을 많이 마시지 않기 때문에, 자신이 얼마나 마셨는지 파악할 수 있다. 이를 활용하여 자신이 술을 얼마나 마셨는지 기록하고 그에 따른 알맞은 술값을 공정하게 계산해주는 앱이다. 메인 페이지 배너에는 앱의 대표 슬로건이 있고, 두 가지 계산기로 이동할 수 있는 메뉴와 최근 계산 결과 목록이 있다. 최근 계산 결과 목록은 Recycle.. 2021. 1. 21.
[Android] RecyclerView 의 순서가 재구성될 때 ImageView 가 사라지는 이유는? 필자는 아이템의 View 에 ImageView 가 포함된 RecyclerView 를 만들고, (이 때 Item 객체에 Image 가 포함되어 있지 않으면, View.GONE 을 통해 ImageView 를 숨기는 기능을 구현했다.) 사용자가 선택한 정렬 필터 등에 의해 RecyclerView 의 Item 순서가 재구성 되는 기능을 구현했을 때 원래 ImageView 에 이미지가 있던 Item 의 ImageView 가 사라지는 오류를 겪었다. 문제의 코드는 아래와 같다. 처음에 대체 이 코드가 뭐가 문제인지 몰라서 RecyclerView 를 탓하곤 했다. 정말 평범한 코드다. 이미지가 없는 이미지면 View.GONE 을 통해 ImageView 를 사라지게 하고, 만약 이미지가 있다면 해당 아이템의 Image.. 2021. 1. 20.
[Android] 대체 사람들이 RxJava 거리는 게 뭐야? 안드로이드 앱 개발자 채용 공고를 보면, 어떤 회사이든 자격 요건에 항상 이 말이 적혀 있다. 'RxJava 사용이 가능하신 분 'Reactive X 에 익숙하신 분' 'RxJava3 등 Reactive Programming 경험이 있으신 분' 뭐가 뭔지 모르겠지만 아무튼 중요하니까 우대 사항, 자격 요건에 Rx 사용 경험을 요구하는 것 같다. 그런데 실제로 Reactive Programming 을 한 번 경험하게 되면 기법 자체가 환상적이며 다시 명령형 프로그래밍 기법으로 돌아갈 수 없다는 말들을 하곤 한다. 그만큼 강력하단 뜻이다. 아무튼 Reactive Programming 을 쉽게 구현할 수 있도록 도와주는 라이브러리가 Reactive X 이니까, Reactive Programming 이 무엇인지.. 2020. 11. 23.
[Android] 깔쌈하게 MVVM 패턴과 AAC 알아보기 Android 앱 개발을 하다보면, Activity 클래스에 모든 앱 동작 코드를 다 집어넣는 경우가 많았다. 물론 동작에 있어 큰 문제는 없지만 체계적인 구조가 전혀 없어 추후에 유지 보수가 어렵다. 실제로 몇몇 프로젝트를 진행함에 있어 이러한 방식으로 앱을 개발하다 보면, 기능을 바꾸거나 추가할 때 어떤 부분을 수정해야 할지 머리가 아득해졌던 경험이 있다. 문득 여태 짠 지저분한 코드들을 보면서 이러한 생각이 자연스레 들었다. '아무래도 MVVM 디자인 패턴 공부를 해야겠다' 그래도 새로이 등장한 MVVM 패턴에 따른 앱 개발이 대세가 대세인만큼 구글에서도 이를 도와주는 듯 Android Jetpack 의 구성 요소로서 AAC (Android Architecture Component) 라는 것을 제공.. 2020. 11. 17.