도리안의 2025년 개발기 #163 - 다운로드 관련 오류 거의 다 해결 (안드로이드)

다운로드 관련 오류 거의 다 해결 (안드로이드)

No. 163
2025. 09. 23 (화) | Written by @dorian-dev

오늘의 개발기

지난 주 금요일부터 시작된 다운로드 관련 버그 해결. 어제 문제 해결이 보였고 오늘은 거의다 해결했다. 내일이면 마무리 가능하다. 지금까지 작업 내용을 다음과 같이 정리한다.

이슈 제목

다운로드 중 화면에서 다운로드 항목의 우측 버튼 클릭시 크래쉬 발생

재현 방법
  • 다운로드 항목의 우측 버튼(중지/재개)을 반복해서 누르면 크래쉬 발생
  • 크래쉬 발생 후, 동일 화면에서 동일 버튼 누르면 또 크래쉬 발생
중간 결정
  • 다운로드 현황이 업데이트 되지 않는 버그부터 먼저 해결하기로 함
    • 다운로드가 진행 중인지 사용자가 알기 어려워 버튼을 계속 누르는 상황이 발생하기 때문
다운로드 현황 업데이트 되지 않는 버그
  • 원인
    • 상태 관리하는 다운로드 리스트의 항목들 자체는 유지되기 때문
      • 리스트 항목의 내용의 업데이트는 Jetpack Compose가 상태 변경으로 인식하지 않음
      • 완료된 다운로드 항목은 화면에서 사라짐 (리스트 개수 변경은 Jetpack Compose가 상태 변경으로 인식)
  • 해결 방법
    • 다운로드 항목이 업데이트될 때 리스트 자체를 복사해 새로 구성하도록 변경
    • 적용 후, 실시간으로 다운로드 현황이 정상적으로 업데이트되는 것을 확인
추가 발견 이슈 - 앱 재시작 후, 다운로드 화면에서 항목의 우측 재개 버튼을 누르면 크래쉬 발생
  • 원인
    • LectureRepositoryImpl 클래스의 user_id 필드가 빈 값이었음
  • 해결
    • DownloadingViewModel 클래스의 init 함수 안에서 user_id 초기화 코드 작성
      • 이미 LectureRepositoryImpl 클래스에 이를 초기화 하는 함수가 구현되어 있었음
남은 문제
  • 앱 재시작 -> 다운로드 화면 이동 -> 항목의 값이 기본 값 (다운로드 하려면 버튼을 눌러주세요)
    • 어렵지 않을 것으로 예상

이번 이슈는 여러 서브 이슈들이 복합적으로 얽혀 있어 간단치 않았다. 남은 문제가 하나 있지만, 오늘이 가장 어려운 하루였다. 가장 큰 고비를 넘어서 퇴근길이 매우 가볍다. 내일 오전에 이 문제도 마저 해결할 예정이다.


지난 2025년 개발기


Layout provided by Steemit Enhancer hommage by ayogom


Posted through the ECblog app (https://blog.etain.club)
Sort:  

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-dev님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

Upvoted! Thank you for supporting witness @jswit.