원기날씨 업데이트 2010/12/22 v1.1.5

2010. 12. 22. 16:38


- 일부 위젯 레이아웃 수정
- 시간별예보 제목 레이아웃 수정
- 강수/적설량 필터링 적용
- 일부 안내 메시지 아이콘 변경
- 주간예보 최저기온 그림자 농도 변경
- 저해상도 기기를 위한 스크롤 추가

일부 위젯 레이아웃 수정
:: 4x2 시간별 예보 위젯과 4x3위젯의 시간별예보 나오는 부분의 상/하단 여백을 늘렸습니다. 높이가 높은 글씨체에서 약간 잘려 보이던 것이 수정되었으리라 예상합니다.

시간별예보 제목 레이아웃 수정
:: 시간별예보의 날짜, 강수(적설), 확률(%) 등의 제목이 글씨체에 따라서 밀려 보이던 현상을 수정했습니다.

강수/적설량 필터링 적용
:: 눈이 오는 동안 강수량, 적설량이 나타내는 패턴을 살펴보니 눈이 확실할 때는 강수량, 적설량이 동일한 수치로 나오더군요. 이럴경우는 하나의 값으로 나타내게끔 하였습니다. 기상청에서 발표하는 강수/적설량은 보통 소숫점 첫째자리 까지 나오지만 가끔씩 계산값 나머지가 떨어지지 않아서 소숫점을 주렁주렁 달고 나올때도 있습니다. 때문에 원기날씨 에서는 소숫점 둘째자리 버림으로 값을 나타내는데 가끔씩 강수, 적설량이 수치상으로 ±0.1씩 차이가 날때도 있더군요. 이럴경우는 어찌할까 하다가 데이터값의 신뢰도를 지켜주는(!?) 방향으로 그냥 이전과 동일하게 "강수량/적설량" 으로 나타나게 했습니다.

일부 안내 메시지 아이콘 변경
:: 즐겨찾는 지역 삭제와 첫번째 즐겨찾는 지역 삭제 안내 메시지의 아이콘을 맞바꿨습니다.

주간예보 최저기온 그림자 농도 변경
:: 낮/맑음 일 때 주간예보의 최저기온이 잘 안보인다는 의견을 주셔서 최저기온의 그림자 농도를 더 진하게 변경하였습니다.

저해상도 기기를 위한 스크롤 추가
:: 옵티머스원, 디자이어팝 등 QVGA(240×320, 3:5)해상도 기기에서 현재 날씨와 전국 날씨가 잘리는 현상을 해결하기 위해 스크롤을 추가하였습니다. 이는 QVGA를 사용하는 기기에서만 나타나며 WVGA나 FWVGA(모토 시리즈)에서는 나타나지 않습니다. 이부분을 수정하면서 전국날씨의 정렬도 변경하여 FWVGA에서 상단 정렬때문에 하단에 여백이 약간 남던것을 가운데 정렬하게끔 변경했습니다.
 요걸 하면서 어플의 레이아웃에 대해서 많은걸 다시 생각해보게 되었습니다. -.-a 갤탭 사이즈의 에뮬레이터를 생성해서 처음 돌려봤는데 어느정도 예상은 하고 있었지만.. 그거 이상으로 요상하게 나오더군요. 다시 한 번 느끼는 거지만 dp, sp단위는 비율이 다르면 별 소용이 없습니다. ㅠㅠ Linear, Relative 레이아웃으로 거의 모두를 구성하고 일부는 Table.. Linear의 weigth으로 지정 해도 어짜피 글씨 사이즈는 또 sp로 지정을 해줘야 하고.. Absolute는 전혀 사용하지 않았음에도 원기날씨 레이아웃의 구조상 상대적인 레이아웃으로도 한계가 있더군요. 이런 비율에 구애받지 않으려면 '탭메뉴에 필요한 데이터는 리스트로 쫘르륵..' 요런 구조가 가장 나은듯 합니다. 이런면에선 기기 하나만 보고 개발하는 아이폰이 부럽습니다. 개방성도 좋지만.. 이런 개발자의 마음을 구글은 알련지요 ㅠㅠ.. 해상도의 비율 정도는 제한을 둬도 괜찮지 않나 싶습니다.


 위젯은.. 거의 처음부터 새로 만드는 느낌입니다. -_-; 보통 간단한 위젯 같은 경우는 AppWidgetProvider에 의존하여 필요한 작업을 하지만 그 작업이 복잡해지면 Service를 통해 위젯을 제어하기도 합니다.(많이 사용하시는 태스크 킬러와 무료통화조회가 그런 방식인듯 합니다.) Service로 위젯을 제어하면 개발자가 위젯에 대해서 설정하거나 통제할 수 있는 내용이 많아지지만 이는 위젯의 크기를 막론하고 동일한 데이터를 담고 있을 때에만 해당되는 사항입니다. 안드로이드의 위젯은 각각의 특정 ID를 가지고 있는데 이 ID로 위젯을 구분하게 됩니다. 원기날씨의 위젯들은 서로 다른 지역의 데이터를 담고 있거나 다른 종류의 기상정보를 가지고 있는 경우가 있기 때문에 이런 ID로 위젯을 구분하는게 필수 입니다. Service로 위젯을 제어하면 바로 요 ID가 문제가 되더군요. AppWidgetProvider는 큰 어려움 없이 각각의 위젯을 구분할 수 있지만 Service는 다른 동네사람 정도 되기 때문에 직접적으로 ID를 구분할 수가 없습니다. 또 위젯은 어플이 필수적으로 지녀야할 요소가 아니기 때문에 안드로이드의 다른 부분들에 비해서 상대적으로 정보도 적네요. ㅠㅠ 하여튼.. 빠른시일 내로 좋은소식 들고 오도록 하겠습니다!

,