Skip to content

shinyeeun789/gswm-android

Repository files navigation

GSWM

Android Studio 4.1 환경에서 Java를 사용하여 개발한 앱

💻 프로젝트 소개

최근 들어 공부하는 모습을 찍어 SNS에 인증하거나 Youtube에서 공부 방송을 진행하는 등 공부 습관에 대한 관심도 나날이 높아지고 있습니다.
본 시스템은 사용자가 세운 목표를 달성함으로써 얻는 성취감으로 꾸준히 공부에 흥미를 느낄 수 있도록 도움을 주고자 개발하였습니다.
개발된 시스템을 통해 사용자는 쉽고 빠르게 스터디 플랜을 세워 이를 바탕으로 모든 목표를 달성할 수 있게 될 것이라 기대됩니다.

🕰 개발 기간

2021.03.02 - 2021.06.30

📚개발 환경

Java Android Studio Room

📱 주요 기능

1. 목표 및 디데이 추가

(1) 목표 추가

  • 할 일과 하루 목표 분량 선택
  • 시작 시간 선택
  • 반복되는 목표 추가

(2) 디데이 추가

  • 디데이 명과 날짜 선택

📷 View


PIC1 : 목표/디데이 추가 Dialog

PIC2 : 목표 추가

PIC3 : 반복 목표 추가

PIC4 : 디데이 추가

2. 캘린더 및 To-Do List

(1) 캘린더

  • MaterialCalendarView 라이브러리 사용
  • 목표는 보라색으로, 디데이는 노란색으로 표시

(2) To-Do List

  • 목표와 디데이를 RecyclerView에 동적으로 표시
  • 목표 선택 시 목표 달성 여부를 변경할 수 있는 Dialog 출력
  • Dialog의 ‘미달성’ 버튼 선택 시 목표 Table의 목표 달성 여부 필드가 X로 수정되고, ‘달성’ 버튼 선택 시 O로 수정
  • Dialog의 '미룸' 버튼 선택 시 [목표 미루기] 기능으로 이동

📷 View


PIC1 : 캘린더

PIC2 : To-Do List

목표 미루기

  • 목표 Table에서 기존 목표의 달성 여부를 ⭢로, 미달성 분량을 입력된 값으로 수정
  • 사용자가 선택한 날짜에 목표를 새로 추가

📷 View


PIC1 : 목표 미루기

PIC2 : 목표 미룬 후 To-Do List

홈 화면

  • 상단에는 오늘 날짜와 총 공부 시간 출력
  • 하단에는 오늘의 목표가 RecyclerView에 동적 목록으로 출력
    • 목표가 없는 경우 기본값 '공부시간 측정' 출력
  • 원하는 목표 선택 시 [스톱워치] 기능으로 이동

📷 View


PIC1 : 초기 홈

PIC2 : 공부시간 측정 후 홈

스톱워치

  • Chronometer를 사용해 공부 시간 측정
    • 앱이 잠자기 및 앱 대기 모드에 빠지더라도 측정이 중지되지 않도록 설정
  • Foreground Service

📷 View


PIC1 : 스톱워치

PIC2 : Foreground Service 실행

통계

  • 일간 통계 / 주간 통계 / 월간 통계
  • 캘린더에서 선택된 날짜에 해당하는 총 공부시간, 최대 집중 시간, 목표 달성률, 목표별 달성률 출력
  • MPAndroidChart로 목표별 달성률 통계 도식화

📷 View


PIC1 : 일간 통계

PIC2 : 주간 통계

PIC3 : 월간 통계

장소

  • Google Map API 사용
  • Googple Places API 사용
  • fusedLocationProviderClient를 사용해 사용자의 위치 정보 획득 후 지도 위치 변경
  • 사용자가 위치 장소의 500미터 내에 있는 카페, 도서관 정보를 마커로 GoogleMap에 표시

📷 View


PIC1 : 현재 내 위치

PIC2 : 근처 카페 찾기

PIC3 : 근처 도서관 찾기

보상

  • 화면 상단에 달성률이 100%인 목표의 개수 출력 (3개월에 한 번씩 초기화)
  • 받을 수 있는 보상의 배지 개수 옆에 선물 표시 출력

📷 View


PIC1 : 보상 추가

PIC2 : 보상

Releases

No releases published

Packages

No packages published

Languages