android · wisezen111

차량 진단 앱 테스트 뿅

roleCCS app researcher11
period2023.10 — 현재
stackkotlin · compose · kotlin flow

overview

ㅁㅇㄹㅁㄴㄹㅁㅇㄹㅁㅇㄴㄹ

CANoe를 연동해 차량 CAN 신호를 테스트하는 진단 안드로이드 앱입니다. 서버로부터 진단 대상을 전달받아 신호를 검사하고, 결과를 사용자에게 보여주기까지 전체 플로우를 담당했습니다.* Kotlin Flow 기반으로 실시간 신호 스트림을 처리하고, StateFlow/SharedFlow로 UI 상태와 이벤트를 분리해 관리했습니다.

전신.JPG

mirae.png

troubleshooting

문제 · 동일 신호 콜백이 중복 실행됨
해결 · SharedFlow의 replay/buffer 설정을 조정하고, 상태 갱신과 1회성 이벤트를 분리해 중복 실행을 제거함.
문제 · CANoe 연동 시 응답 지연으로 UI 프리징
해결 · 신호 수신을 별도 디스패처로 옮기고, 결과만 메인 스레드에서 렌더링하도록 분리.
문제 · 진단 대상 목록이 서버 스펙 변경마다 깨짐
해결 · 진단 대상 스키마에 대한 안전한 파싱 레이어를 두어, 알 수 없는 필드가 와도 앱이 죽지 않도록 방어.