법과점심
한 줄 소개
항상 식사 메뉴를 고르기 어려운 팀에게 재판을 통해 메뉴를 고를 수 있게 도와주는 Android 앱
진행 기간
Dec 21, 2020 → Mar 15, 2021
담당 Skills & 사용 Libraries
팀 구성
Android 개발자 2, 백엔드 개발자 1, 디자이너 2, 기획자 1
Related to Awards (Property)
🔍 프로젝트 설명

‘법과 점심’은 메뉴선정에 어려움을 겪는 팀을 위해 전자 심판이 판결을 내려주는 Android 앱입니다. 팀 DOT은 실생활의 불편한 점을 유머러스하고 게임적인 요소를 통해 해결하고자 하였습니다.
회원/비회원 로그인을 통해 앱을 실행할 수 있으며 원하는 메뉴의 카테고리를 선택합니다. 메뉴를 선택한 팀원은 재판장에 들어가 다른 팀원이 고른 메뉴를 볼 수 있으며, 메세지 버튼 클릭을 통한 간단한 채팅이 가능합니다. 판결 버튼을 누르면 랜덤으로 가상 판사가 메뉴를 선택하고, 해당 메뉴가 있는 근처 식당을 찾을 수 있습니다.
🛠️ 사용 기술 및 라이브러리
- Android, Kotlin, Retrofit2
📱 담당한 기능 (Android)
- 회원가입/로그인 기능 및 UI
- RecyclerView를 이용한 채팅 기능 및 UI
💡 깨달은 점
- Retrofit2는 OkHttp 라이브러리의 상위 구현체로 REST API 통신을 위해 구현된 라이브러리이다.
- REST API로 받아온 데이터를 변환하여 매핑할 DTO 클래스를 선언해야 한다.
- Request로 넘겨주는 데이터가 JSON 형식인 경우에는
@Body
- ‘kotlin-android-extensions’ 플러그인은 deprecated되었다.
- View Binding는
findViewById
를 사용하지 않고 XML의 view component에 접근하는 object를 반환받아 view에 접근하는 방식이다. inflate()
메서드를 사용하여 Activity에서 사용할 바인딩 클래스의 인스턴스를 생성한다.- 바인딩 클래스의
getRoot()
메서드를 통해 레이아웃 내 최상위 View의 인스턴스를 얻는다. setContentView()
메서드에 이전 단계에서 획득한 최상위 View의 인스턴스를 넘겨준다.
- SharedPreference는 소량의 데이터를 key-value 쌍으로 기기에 파일로 저장할 수 있게 해준다. 앱이 멈추거나 다시 시작되는 경우, 기기가 다시 시작되는 경우에도 데이터가 영속적으로 보관되므로 일반적으로 유저의 preference를 저장하는 데에 사용된다.
- style.xml을 이용하면 화면에 배치되는 View의 공통적인 속성을 편리하게 지정할 수 있다.