728x90
반응형
하루네컷 프로젝트를 진행하면서 기기의 이미지들을 최신순으로 받아와
자체 갤러리 화면을 제작하는 Featrue를 구현하게 되었습니다.
간단한 사용 방법은 구글링을 통해 알 수 있었습니다.
Database와 마찬가지로 Query문을 작성하고, 그 결과로 받은 Cursor를 이용해 데이터를 읽어오는 방식입니다. 🤗
처음에 짠 Query는 👇🏻아래와 같습니다.

기획 그대로
- DATE_TAKEN를 기준으로 내림차순 정렬하고
- Paging 기능을 위한 LIMIT과 OFFSET을 지정
하였지만...

결과는 정렬이 적용되지 않았습니다.
디버깅으로 결과를 찍어보니, LIMIT과 OFFSET은 적용이 되었지만, sorting만 적용되지 않은 것을 확인하였습니다.
여기서 먼저 문제 상황을 확실히 정의할 필요가 있습니다.
🔥 정렬만 적용이 되지 않는다.
이제 문제 상황과 관련해서 해결방법을 구글을 통해 찾아볼 차례입니다.
ContentResolver와 Query, Sort를 키워드로 검색해보니, 비슷한 이슈와 관련된 정보가 나오지 않아, 생각보다 시간이 오래 걸리게 되었어요.😭😭
하지만, 이슈를 확인하고도 그냥 둘 수 없으니,
좀 더 검색 키워드를 넓혀보기로 하였습니다. Sort 자체가 아니라 Bundle로!
그리고 검색 결과로 나온 예시 코드들을 하나씩 제 코드와 비교해가며 어떤 부분이 다른지 세세히 확인해보던 중
"sort의 조건을 지정할 때 putString이 아닌, putStringArray를 사용해야 한다."
는 점을 알게 되었습니다.ㅎㅎ
👇🏻 수정된 코드

요렇게 수정해주니 기획에 맞게 최신순으로 이미지가 정렬되어 나오는 것을 확인하였습니다. 👏🏻👏🏻👏🏻

반응형
'기록 > TIL' 카테고리의 다른 글
[하루네컷] UiEvent에 StateFlow 대신 SharedFlow를 사용해보다. (0) | 2023.04.20 |
---|---|
[TIL&일일회고] 2022.08.01 월요일 (0) | 2022.08.02 |
[TIL] 2022.07.15 금요일 (0) | 2022.07.15 |
[TIL] 2022.07.14 목요일 (0) | 2022.07.14 |