안드로이드 11 – 스토리지 정책 업데이트 대응

모두 안드로이드의 스토리지 사용이 매우 개방적이라는 것에 동의할 것이다. 사용자에게 저장소 전체에 대한 읽기 및 쓰기 동의만 받는다면 내부저장소 어디든 읽고 쓸 수 있기 때문이다. 그 때문에 개발자가 마음만 먹으면 사용자의 스토리지 정보를 갈취하는것도 어려운일이 아닐것이다. 필자도 수년간 안드로이드 휴대폰만 사용하다가, 아이폰을 사용했을 때 각 파일을 읽고, 쓸 때 마다 매번 권한을 요청하는 다이어로그가 뜨는…

RecyclerView 각 아이템 이벤트를 효율적으로 핸들링할 수 있을까?

최근 RecyclerView를 구성하면서 가장 고민한 것이, 어떻게 하면 각 뷰의 이벤트들을 잘 핸들링 할 수 있을까에 대해서이다. 많은 RecyclerView를 만들며 고민하다가 정착한 방법이 있어 글로 남긴다. 다른 의견이나 좋은 방법이 있다면 댓글로 알려주시면 안드로이드 애플리케이션 개발 공부에 큰 도움이 될것 같다. 첫째로 이 문제를 고민하게 된 것은, 뷰와 관련된 모든 로직을 해당 RecyclerView를 가지고 있는…

LiveData로 일회성 이벤트 처리하기

안드로이드 애플리케이션을 개발할 때, 아키텍처를 구성하면서 LiveData를 이용하여 일회성 이벤트를 처리해야 하는 경우가 생깁니다. 경고문 출력, 액티비티 이동, 혹은 프래그먼트 전환 등. 아마 그런 경우 대개 이런 형태를 취할 것입니다. 데이터바인딩 – 뷰모델 – LiveData – Activity or Fragment 에서 옵저빙 그러나 문제가 있습니다. LiveData는 ViewModel의 데이터를 핸들링하기 위해 사용하는 동시에, 기기의 상태 변화 (디바이스…

Published
Categorized as Android

RecyclerView에 구분선 추가하기

기존 ListView를 사용할 때에는 디폴트로 구분선이 있어서, Divider를 매번 지워줘야하는 수고스러움이 있었다. 그와 반대로 최근 많이 사용하는 RecyclerView는 기본적으로 구분선을 제공하지 않아서, 구분선이 필요할 때에는 직접 추가해주어야 한다. 일반적인 경우 ItemDecoration을 이용하면 각 아이템 사이에 자유자재로 커스텀한 뷰를 추가할 수 있는데, 이를 상속하여 구분선을 추가할 수 있다. 다만, 구분선을 간단하게 추가하는 사용 빈도가 높아서 그런…

Published
Categorized as Android