ffe8f93b0aad9c99c61d2e12c83eff44bd1fe8f8
쉬운 가전 리모컨 (EasyAppliance)
SmartThings 가전(세탁기·에어컨 등)을 어르신도 쉽게 쓸 수 있도록 만든 안드로이드 앱. 큰 글씨·고대비·큰 버튼의 직관적 UX로, 등록된 기기 중 한 대를 골라 상태 확인과 켜기/끄기, 시작 매크로를 제공합니다.
주요 기능
- 한 대 선택 조작: 관리자 화면에서 조작할 기기 1대를 선택
- 숨김 관리자 진입: 화면 위쪽 양쪽 모서리를 동시에 약 1.5초 길게 누르면 진입 (어르신이 실수로 들어가지 않도록)
- 큰 상태 표시: 운전 중/꺼짐, 남은 시간, 에어컨 온도 등
- 관리자에서 표시 정보·기능 on/off, 기기 이름·사진 변경(기본 이미지 + 직접 추가)
- 시작 매크로: "시작"을 누르면 물 온도·수위 등 설정을 적용한 뒤 자동 시작
- 연결 끊김 시 화면 중앙 큰 경고창 + 다시 연결하기(백그라운드 재시도, 복구 시 자동 해제)
- 설정은 저장되어 앱을 껐다 켜도 유지, 앱 복귀/주기적 폴링으로 최신화
- 폴드/플립 대응 반응형 레이아웃, 삼성 뒤로가기 지원
SmartThings 연결
관리자 화면에서 SmartThings Personal Access Token을 입력하면 실제 기기 목록/상태/제어에 연결됩니다. 토큰이 없으면 샘플(목업) 데이터로 동작합니다. 토큰은 https://account.smartthings.com/tokens 에서 발급합니다.
빌드
Android SDK와 JDK 17+ 필요.
./gradlew :app:assembleDebug # 디버그 APK
./gradlew :app:testDebugUnitTest # 단위 테스트
릴리즈 서명 빌드는 프로젝트 루트에 keystore.properties(gitignore됨)가 있을 때만
서명됩니다:
storeFile=/절대/경로/키스토어.keystore
storePassword=...
keyAlias=...
keyPassword=...
./gradlew :app:assembleRelease
기술 스택
Kotlin, Jetpack Compose(Material3), DataStore, Retrofit + kotlinx.serialization, Coil. minSdk 24 / targetSdk 35.
Description