본문 바로가기

Android 공부/Android Library Study

RecyclerView-selection 느낀 점

0. 서론

 안녕하세요. '담다'앱을 개발하면서, recyclerview-selection을 사용했습니다.

시간표와 함께, TO-DO를 관리하기 위해서 만들면 유용할 것이라고 생각을 했습니다.

밑의 gif에서 보이는 것처럼 왼쪽에서는 날짜를 누르는 단일 selection을 사용했고, 오른쪽에서는 끝 낸, 일정을 관리하는멀티 selection을 사용했습니다.

 결론을 말하면, selection 라이브러리는 해당 기능을 구현하기에는 좋은 라이브러리가 아니라는 것을 알게 되었습니다.

[좌] 단일 selection , [우] 멀티 selection

1. 장점

 - 어느 정도 정형화 된 방법으로 Selection을 구현할 수 있다.

 - docs에서 제공하는 간단한 예제를 통해서 간단한 기능을 구현하는 것에 적합하다.

 - 아이템을 선택 -> 선택한 아이템을 일괄적으로 처리하는 단순한 로직에 해당 라이브러리를 사용하기에 적합하다.

 

2. 단점

 - selection 라이브러리를 커스텀해서 사용하기에 상당히 불편하다.

 - selection 라이브러리를 사용하기 위해서 구조를 파악하는 시간이 꽤 걸린다.

 - 조금만, 어긋나면 IllegalArgumentException 에러가 계속해서 발생한다.

 

3. 사용하면서 느낀 점

 PagedList를 사용했을 때처럼 어느 정도 규격화 되어 있는 라이브러리의 장점을 가져올 것이라고 생각을 하고, selection 라이브러리에 대한 기대감이 높았다. 해당 라이브러리를 사용하기 위해서 꽤나 많은 시간이 걸렸고, 해당 라이브러리를 커스텀하기에 정말 많은 시간이 걸렸고, 해당 라이브러리를 사용하지 않고, 기능을 구현했을 때, 훨씬 자유롭고 훨씬 빠르게 기능을 구현할 수 있었다.

 역시 모든 라이브러리가 만능이 아닌 것처럼, 해당 selection 라이브러리는 사용하지 않아도, 충분히 더 효율적으로 구현할 수 있는 ViewModel과 ListAdapter가 존재한다는 것을 알게 되었다.

 목적이 명확하지 않으면 기존의 방법을 사용하는 것이 더 좋은 것 같고, 특히 아이템을 선택하고 일괄적으로 처리하는 로직에서는 해당 라이브러리를 사용했으면 좋겠다고 생각을 한다.