일단 개발은 완료 하였다. Git에 업로드 해놓았다..!
그래서 소스는 블로그에는 안적을 예정이다.
https://github.com/YHB2an/MGCS.git
이거는 git 주소..!
## Android MGCS App - Development Context
### 1. Project Overview
MGCS (Modified Glasgow Coma Scale) app for small animals.
Score:
* Motor (1~6)
* Brainstem (1~6)
* Consciousness (1~6)
Total:
* 3~8 → Grave
* 9~14 → Guarded
* 15~18 → Good
---
### 2. Tech Stack
* Kotlin
* ViewBinding
* Internal Storage (JSON)
* MPAndroidChart
---
### 3. Current Features
🔹 Main Screen (Record 입력 화면)
점수 계산
Motor / Brainstem / Consciousness 선택 시 실시간 total 계산
total 범위에 따라 상태 표시:
3~8 → Grave
9~14 → Guarded
15~18 → Good
상태 텍스트 UI 하단에 표시 (진한 회색 한 줄)
입력 UI
RadioGroup 기반 점수 선택
선택된 항목:
Bold 처리
선택 상태 시각적으로 강조
데이터 저장
이름 + 점수 + 날짜 + chartType 포함하여 JSON 저장
내부 저장소 (mgcs_records.json) 사용
버튼 기능
Save → 현재 데이터 저장
Load → 전체 기록 불러오기 (리스트 화면 이동 or 표시)
Load Latest → 가장 최근 기록 불러와 UI 자동 세팅
🔹 Record List Screen
리스트 구성
RecyclerView 사용
최신순 정렬 (내림차순)
각 아이템:
이름
날짜
Total score
상태 (Grave / Guarded / Good)
데이터 관리
JSON → List 변환
리스트 → UI 바인딩 완료
삭제 기능
Swipe 삭제 (좌/우)
Snackbar Undo 지원
Long Click 삭제 지원 (확인 없이 즉시 or 확인 다이얼로그)
모드 분리
VIEW 모드
단순 조회
EDIT 모드
삭제/수정 가능
Chart 연결 기능
각 Record에 chartType 존재 (C1 ~ C5)
Chart 필터링 기준으로 사용
🔹 Charts Screen (대시보드)
구성
총 5개 Chart 카드 (C1 ~ C5)
각 카드:
Preview Chart 포함
클릭 시 GraphActivity 이동
Preview Chart
최근 10개 데이터 기준
간단한 LineChart 또는 PointChart 형태
네비게이션
카드 클릭 → chartType 전달
intent.putExtra("chartType", "chart1")
🔹 GraphActivity (핵심 기능 화면)
데이터 처리
Intent로 chartType 수신
JSON → GraphRecord 리스트 변환
해당 chartType 데이터만 필터링
최신순 정렬 후:
기본: 최근 10개 표시
스크롤 시 과거 데이터 로딩 (확장 구조)
그래프 UI
MPAndroidChart LineChart 사용
Line 제거 → Point Graph 형태
점 색상 규칙
3~8 → 빨강
9~14 → 회색
15~18 → 하늘색
인터랙션 (핵심 UX)
그래프 점 클릭 시:
해당 record highlight
상단: 이름 표시
하단: 점수 표시
리스트 클릭 시:
그래프 해당 point highlight
리스트 연동
하단 RecyclerView 존재
그래프 ↔ 리스트 양방향 동기화
Marker 기능
그래프 선택 시:
커스텀 MarkerView 표시
이름 / 점수 표시
예외 처리
데이터 없을 경우:
"No data" 텍스트 표시
#### Main Screen
* 점수 계산 (실시간)
* RadioGroup UI (선택 Bold)
* Save / Load / Load Latest
#### Record List
* RecyclerView
* 최신순 정렬
* Swipe delete + Undo
* Long click delete
* VIEW / EDIT 모드 분리
* Chart 컬럼 (C1~C5 선택 가능)
#### Charts Screen
* 5개 Chart 카드 (C1~C5)
* 각 카드 → GraphActivity 이동
* Preview chart는 최근 10개 기준
---
### 4. GraphActivity
#### 구조
* Intent로 chartType 전달받음
* 해당 chartType 데이터만 필터링
* 최근 10개만 표시
* 좌측으로 스크롤시 과거데이터 조회가능
* 그래프 marker 선택시 하단에 record랑 mapping , 상단에 이름/하단에 점수 표시
* 하단에 record list 조회
#### 기능
* MPAndroidChart LineChart 사용
* 선 제거 (point graph)
* 점 색상:
* 3~8 → 빨강
* 9~14 → 회색
* 15~18 → 하늘색
* 그래프 선택 시 리스트 highlight
* 리스트 클릭 시 그래프 highlight
* 데이터 없을 경우 "No data" 표시
---
### 5. 데이터 구조
#### GraphRecord
```kotlin
data class GraphRecord(
val name: String,
val total: Int,
val date: String,
val chartType: String
)
```
---
### 6. JSON 저장/로드
* 파일명: "mgcs_records.json"
* 내부 저장소 사용
* GraphActivity에서 JSON → GraphRecord 변환 완료
예시 JSON:
```json
[
{
"name": "Milo",
"motor": 6,
"brainstem": 6,
"consciousness": 6,
"total": 18,
"date": "03-08 22:10",
"chartType": "chart1"
}
]
'안드로이드 스튜디오' 카테고리의 다른 글
| 안드로이드 할 줄 몰라도 Ai로 개발부터 배포까지 가능할까 8 - 통합 테스트 (0) | 2026.04.01 |
|---|---|
| 안드로이드 할 줄 몰라도 Ai로 개발부터 배포까지 가능할까 7 - 단위 테스트 (0) | 2026.03.31 |
| 안드로이드 할 줄 몰라도 Ai로 개발부터 배포까지 가능할까 1~6 - 중간 점검 (0) | 2026.03.20 |
| 안드로이드 할 줄 몰라도 Ai로 개발부터 배포까지 가능할까 - 6 github 연동, commit, push (0) | 2026.03.20 |
| 안드로이드 할 줄 몰라도 Ai로 개발부터 배포까지 가능할까 5 - 프로젝트 타임라인 (0) | 2026.03.18 |