프로젝트

준비물 사용 중

날씨 숫자를 준비물 목록으로, 잘라 온 예보로 하루를 요약하지 않기까지 12일

68mm 쏟아진 날, 카드엔 0mm.

잘라 온 요약 기상청 원본 응답다시 센 요약 합친 스물네 시간하루 강수량0mm68mm오늘 최고25°밤에 받으면 «남은 시간의 최고»31°바로 아래 곡선과 같은 값

기상청 단기예보는 발표 시각 이후만 제공. 밤에 받은 응답으로 하루를 요약해 같은 화면이 두 말을 함 — 요약 쪽 오류.

8/248/259/19/4항목 · 두 곳 · 기상청 · 위젯위젯 셋 · 기준 화면 · 이번 주
12일 · 변천 기록 38판 · 시안 페이지 5장. 점은 아래 카드의 날짜.

개발 과정

방향이 바뀐 자리만 날짜 순으로. 대부분 값을 더하는 일이 아니라 이미 있는 값이 무엇을 말하게 할지.

8월 24일숫자 대신 항목8월 24일곳을 둘로8월 25일두 곳을 한 요약으로 접기8월 25일기상청 값으로 덮기8월 25일홈 위젯 — 그리기 코드 한 벌9월 1일위젯을 한 판으로9월 2일비 안 오는 날의 접이 우산9월 3일기준 화면9월 3일볼 때마다 줄던 「오늘 최고」9월 4일이번 주 일곱 칸
밀어서 보기
8월 24일

숫자 대신 항목

막힘
「내일 비 87%」에서 「우산」까지는 매번 사람이 건너는 자리
한 것
네 갈래 규칙이 항목을 목록에 밀어 넣고, 항목마다 왜 떴는지 근거 줄
결과
「우산 — 강수 확률 87% · 4.6mm」. 근거가 있어야 넘길지 판단 가능
날짜를 누르거나 축을 밀면 그때 무엇이 막혔고 무엇을 정했는지 아래에 펼쳐진다.

의사결정 방식 — 실제 예보로 그려 놓고 고름

갈림길마다 실제 예보값과 치수로 그린 HTML 한 장을 만들어 선택.

무엇으로 그리나

그날의 실제 예보. 비 없는 날로 그리면 네 안이 똑같아 보임

무엇을 적나

안마다 얻는 것 · 잃는 것 한 줄, 값은 숫자로 — 「눈금을 버리는 대신 그림이 폭을 다 씀」

차이를 얼마나 벌리나

막대 불투명도 0.42 대 0.6 시안에 「뭐가 다르냐」. 눈으로 갈려야 시안

어떻게 고르나

고른 뒤에 구현. 네 안을 다 만들지 않음

위젯 한 판 그리기
위젯 한 판 그리기네 안 중 겹쳐 세우기후보 보기
한 줄 위젯 배치
한 줄 위젯 배치왼쪽·오른쪽에서 위·아래로후보 보기
한 줄 위젯 다듬기
한 줄 위젯 다듬기눈금과 이름표후보 보기
위젯에 미세먼지
위젯에 미세먼지그림 «안» 에 조각으로후보 보기
기준 화면
기준 화면구간 띠에 준비물을 얹어후보 보기
그림을 누르면 크게 뜨고, 「후보 보기」 가 그 판으로 간다.

잘라 온 자료로 하루를 요약하지 않기

다른 앱에도 가져갈 규칙 한 가지. 맨 위 비교의 원인.

메우지 않음

TMN · TMX 가 안 오면 비움. 「남은 시간의 최저 · 최고」로 메우면 저녁엔 저녁값이 곧 「오늘 최고」

합친 뒤에 셈

요약은 원본 응답이 아니라 합친 스물네 시간에서 — 최고 · 최저 · 강수량 · 적설 · 하늘 상태 모두

값마다 따로 고치지 않음

강수만 고치고 기온 · 눈 · 하늘을 두어 같은 병이 세 곳에 남음. 규칙 하나면 한 자리에서

어긋나면 신호

카드 25°, 곡선 31°. 같은 자료를 보는 둘이 다른 말이면 한쪽이 틀림

배운 점

위젯 색은 런처 테마로 풀림. ?android:attr/textColorPrimary 는 밝은 런처에서 어두운 카드 위에 검은 그림. @color + values-night 는 밤낮 자원으로 풀려 안전. tint · setColorFilter 는 그림 전체를 한 색으로 덮어, 「해 뒤의 구름」 같은 두 색 그림은 길마다 제 색 필요.

안 보이는 단추는 없는 단추. 등급 조각을 단추로 만들고 단추처럼 안 보이게 두니 아무도 안 누름. 물음이 생기는 자리 바로 옆에 둠.

매번 무시하는 알림은 옆 알림까지 무디게 함. 주말 알림이 「오늘도 그냥 알림」이 되자 평일 알림도 흘려봄. 끈 건 알림뿐, 화면 · 위젯은 그대로.

산출물

  • 소스 — Kotlin · RemoteViews · 기상청 단기예보 · Open-Meteo
  • 시안 페이지 다섯 장 — 위 격자에서 열림