- 다국어 지원
- Light / Dark Theme 지원
- Portrait / LandScape 화면 모드 지원
- Toolbar를 이용해 화면 타이틀 표시 및 뒤로가기 구현
- 직접 제작한 Lottie Animaton
로그인 화면 | 회원가입 화면 | 홈 화면 |
|
|
|
마이페이지 화면 | 메뉴 상세 화면 | |
|
|
- User Data 관리
- User 인스턴스에 HashMap 형태로 저장
- User 클래스는 Parcelable 상속
- UserData 받아오기
- 회원가입 직후 회원가입 화면에서 UserData를 전달 받아 HashMap에 저장
- configChanges 관리
- 화면 방향 전환 시 재시작 되어 회원가입 정보가 날아가는 현상을 방지
- Toolbar
- 상단 타이틀 표시와 뒤로가기 구현
- 유효성 검사
- Regex를 이용하여 정규표현식을 작성하고 matches() 함수로 유효성 검사
- 아이디 중복 체크
- 로그인 화면에서 받아온 id의 key 값을 비교하여 중복 체크
- 아이디를 중복체크 한 뒤 아이디 값을 바꿀 경우 다시 체크할 수 있도록 Listener 추가
- 2개의 ScrollView 사용
- 서로 다른 두 ScrollView를 동시에 처리
- 화면 방향이 전환될 때 id 값을 다르게 지정함으로서 에러 해결
- 카페 메뉴 순서 랜덤 노출
- 여러 메뉴들을 랜덤으로 노출하고 랜덤 값에 따른 상세 페이지로 연결될 수 있도록 처리
- 원형 ImageView 처리
- drawble 폴더에 background 생성 후 처리
- 더보기 활성화
- TextViw가 긴 경우 ellipsize 처리 후 더보기 버튼을 눌러 전문 공개
- UserData 관리
- 로그인할 때 받아온 UserData를 사용하고 이를 다시 마이페이지로 전달
- 원형 ImageView 처리
- drawble 폴더에 background 생성 후 처리
- 반응형 디자인 적용
- 메뉴 이름이 길어질 경우 사용자 이름과 작성 날짜가 메뉴 아래에 오도록 구현
- 더보기 활성화
- TextView가 길어지는 경우 레이아웃에 맞게 줄어들고 더보기 버튼을 눌러 전문 공개
- Menu Class 전역 관리
- Menu 클래스는 Parcelable을 상속받아 전역으로 관리할 수 있게 처리
- 원형 ImageView 처리
- drawble 폴더에 background 생성 후 처리
- UserData 관리
- Intent를 통해 홈 화면에서 UserData를 받아와 사용자 정보를 노출
- 사용자 프로필 랜덤 노출
- 사용자의 프로필 사진만 모아놓은 list를 shuffled()를 사용해 랜덤 노출되도록 구현
- 더보기 활성화
- Text가 한 줄 이상일 경우 ellipsize를 처리하고, 텍스트를 클릭하면 maxLine이 최대 5줄까지 노출 될 수 있도록 처리
- 메뉴 랜덤 노출
- 메뉴 정보를 담은 string-array의 데이터를 랜덤으로 뽑아 하나 이상의 메뉴가 보이도록 구현
- 네이버 지도로 연결
- 암묵적 인텐트를 이용해 카페 지도를 크롬 화면으로 연결할 수 있도록 처리
임가람 (리더) | 김보라 | 김태영 | 송유호 |
|
|
|
|
|
|
|
|