기존에 “신한은행 프로리그 10-11“앱 업데이트를 드뎌 오늘 끝냈습니다.
저번 포스팅에서 업데이트의 주요관점으로 다뤘던 내용은
- 프로리그/팀/개인리그 결과 잘못나오는 버그패치(O)
- 버전업데이트 액티비티 추가(X)
- admob 달기(X)
- minor 버그패치/성능개선(O)
인데, 실수로 “신한은행 프로리그 10-11“의 키스토어 파일을 잃어버려서(ㅠ.ㅠ)
할 수 없이 업데이트를 하고 리패키징을 하고 앱 이름을 수정해서 신규버전으로
다시 안드로이드 마켓에 올렸습니다.
- 스타크래프트 프로리그 안드로이드 마켓URL : http://bit.ly/x8t5ZX
================================================================
이번 업데이트 버전의 주요사항은 아래와 같습니다.
- 전체적으로 프로리그 경기결과,랭킹보기등의 처리속도 개선
- 개인랭킹을 상위 100위까지 볼 수 있도록 함
- 프로리그에서 현재 검색된 날짜를 노란색으로 표시함
- 기존에 있던 마이너버그 수정
기술적인 부분에서 달라진 점을 말씀드리면,
- 기존 html 파서를 Jericho에서 Jsoup으로 변경(DOM, CSS, jquery에 최적이라고 함)
- json 라이브러리를 안드로이드 내장라이브러리에서 gson으로 변경(코드량 확 줄임!)
- 파일/이벤트 관련 부분을 독립적인 클래스로 분리(관심대상을 별도의 클래스로 분리함)
저 정도 입니다. 특히나 gson을 사용할 때는 기존 안드로이드 내장 라이브러리를 사용할때
보다 훨씬 코드량이 줄어드는 것을 체감했습니다. 기존에 노가다로 했던 작업들을
라이브러리에서 모두 가져갔기 때문이죠.
결국, 코드도 기존보다 훨씬 깨끗해졌습니다. 물론 유저들은 못 느끼겠지만요^^
그리고, 또 하나!
파일관련 작업과 버튼을 클릭했을 시 이벤트처리 같은 부분도 본래 경기결과나 랭킹을
보여주는 액티비티 안에 중복으로 코드가 있었는데, 이러한 부분들은 엄밀히 말하자면
주요 액티비티와는 다른 관심대상이었고, 당연히 분리되어야 했으며, 또 하나의 큰
문제는 같은 코드가 여러 액티비티에서 중복되어 작성되었다는 점이었습니다.
이러한 부분들도 과감하게 리팩토링하여 독립적인 클래스로 분리하였습니다.
물론 액티비티에 내용을 표시하는 것 외에, html 파싱하는 부분도 리팩토링하여
독립적인 클래스로 분리할 수 있으나 이 부분은 다음 업데이트때 진행하기로 했습니다.
================================================================
솔직히, 이번에 업데이트 하면서
- 알람기능 추가
- 앱아이콘 및 UI 개선
- admob/cauly 광고 달기
- 사용자게시판 추가
- 전체 OOP관점에서 설계하고, 모델링, 소스 리펙토링, 단위 테스트 작성
등의 욕심이 있었고, 실제로 리팩토링과 단위테스트 작성 부분에 있어서는 어느정도
성과가 있었다고 생각합니다.
그리고 남아있는 기능추가와 UI 개선은 앞으로도 계속적으로 도전해야 될 부분이
될 것 같습니다.
많이 부족하지만 지속적으로 업데이트할 계획입니다.
SNS를 하시면 폐북에 링크공유와 트위터의 무한 RT로 홍보도 많이 부탁드립니다.
“스타크래프트 프로리그“앱의 업데이트와 기술적인 내용도 계속 포스팅하겠습니다^^
================================================================
*참고 url
- TextView의 색상 부분적으로 적용하기 : http://www.dingpong.net/tt/215
- 파일입출력과 ACTIVITY : http://bit.ly/yBoPfQ
- 현재 ACTIVITY와 CONTEXT 얻는 방법 : http://bit.ly/xdziBn