- 로또사용자들을 위해 로또번호를 제공하고 QR코드촬영을 통한 당첨확인과 주변, 전국 판매점 정보를 알 수 있는 기능을 제공합니다.
-
기본적으로 레이아웃은 Constraint Layout 을 베이스로 하고있으며 몇몇 뷰의 동적생성이 필요한 부분과 Expandable Layout 을 사용한 부분은 LinearLayout으로 구성되어 있습니다.
-
첫화면과 지난 당첨번호 메뉴의 정보는 나눔로또에서 제공하는 Lotto 회차별 당첨정보 Api를 사용하였습니다.
지난당첨번호는 로또회차가 지금까지 750회차이고, 한번에 1회차에 해당하는 데이터밖에 가져올 수 없게 되어있기 때문에 미리 데이터를 Firebase에 옮겨 Firebase에 있는 데이터를 가져오는 방식을 적용했습니다. 지난당첨번호의 RecyclerView에는 Precache 를 적용시켜 보았습니다. -
로또번호의 저장과 만든번호목록에 Realm 모바일데이터베이스를 사용하였습니다.
주변판매점은 기본적으로 Google Map 베이스에 위치정보를 잡고, Daum Search Api를 통한 검색결과를 받아 보여주는 방식입니다. -
전국판매점은 Lotto 공식홈페이지 판매점 데이터가 Api로 제공되지 않고있으므로 Crawling을 하여 Retrofit으로 가져오는 방식을 취하고 있으며 마지막 포지션에 도달하면 추가적으로 로드하는 페이징기능이 들어가 있습니다.
-
QR코드 촬영을 통한 당첨확인은 ZXing 라이브러리를 사용해 코드내의 url을 읽어 웹뷰로 보여주는 기능입니다.