Watch LED Scroller & Banner — Overview
Wear OS 워치를 작은 LED 전광판으로 바꾸는 엔터테인먼트 앱입니다. 글자를 스크롤·깜빡임으로 표시해 콘서트 응원봉, 파티, 시끄러운 장소에서의 무언 소통, 야간 달리기 시인성 용도로 사용할 수 있습니다. 모바일 앱에서 메시지를 작성해 워치로 즉시 전송하고, 워치페이스 컴플리케이션에도 표시할 수 있습니다.
주요 기능
- LED 텍스트 스크롤러 — 가로/세로, 좌/우/상/하 스크롤 방향, 3단계 속도 조정
- 풍부한 스타일 커스터마이징 — 14종 글자 색상 (그라디언트 포함), 10종 배경색, 14종 폰트, 3단계 글자 크기
- 깜빡임 효과 — 독립적 깜빡임 속도(3단계), 도트 효과
- 화면 회전 — 0° / 90° / 180° / 270° 4방향
- 모바일-워치 동기화 — 모바일 앱에서 입력한 설정을 워치로 즉시 전달
- 워치페이스 컴플리케이션(Photo Complication) — 나만의 LED 배너를 워치페이스에 컴플리케이션으로 표시 (관련 앱: LED Board Watch Face)
- URL 공유 — 설정을
Apple-025 같은 키로 업로드해 링크로 공유
기술 스택
- 모바일 앱: Kotlin, Android View 시스템
- 워치 앱: Kotlin, Jetpack Compose for Wear OS, Wear Complications API
- 기기 간 통신: Wearable Data Layer API
- 공유 백엔드: AWS API Gateway + Lambda (
POST /share-led, GET /share-led?k=…), X-API-Key 헤더 인증
- 수익화: Google AdMob, Google Play Billing
설정 직렬화 포맷
설정은 12필드 쉼표 구분 문자열로 직렬화됩니다 (SettingSerializer.settingsToString):
text,font,size,color,speed,reverse,blink,blinkSpeed,dot,rotation,scrollMode,bgColor
예: Hello World,0,1,0,1,false,false,1,false,0,true,0
text에 쉼표 포함 불가. 세부 인덱스 맵(폰트 14종, 글자색 14종, 배경색 10종)은 README.md의 테이블 참고.
아키텍처 요약
- 모바일에서 편집한 설정이 Wearable Data Layer를 통해 워치로 동기화
- 공유 기능은 모바일에서 AWS 공유 API에 config 문자열을 업로드하고 단축 키(
{과일명}-{번호})를 응답으로 받음
- 컴플리케이션은 워치 LED 미리보기를 이미지로 생성해 Photo Complication 슬롯에 공급