저번 아이디어 기획과 기능 리스트 작성에 이어 오늘은 설계를 해보려고 한다.
좀 더 자세하게 어떻게 할 것인지 설계를 해보았다. 다음엔 와이어프레임에 대해 알아보고 작성하려고 한다.
| 앱 전체 화면 구조 (UX 설계) (GPT) |
| 전체 화면 흐름입니다. |
| Splash (선택) ↓ Main Screen (MGCS 평가) ↓ Menu ├ Records Screen (저장 기록) └ Chart Screen (차트 선택) ↓ Graph Screen (그래프 보기) |
| 앱 전체 화면 구조 (UX 설계) (GPT가 작성한 것을 내가 수정) |
| 전체 화면 흐름입니다. |
| Splash (선택) ↓ Main Screen (MGCS 평가) ㅣ ↓ ㅣ Records Screen (저장 기록) ㅣ └ Select Charts to Save ( 저장할 차트 선택) ㅣ └ Save (기록 저장) ↓ Menu ├ Records Screen (저장된 기록 리스트) └ Delete History & Change Selected Charts ( 기록 삭제 & 차트 변경) └ Chart Screen (차트 선택) ↓ Graph Screen (그래프 보기) |
| Main Screen (MGCS 평가 화면) (GPT) |
| 이 앱의 핵심 화면입니다. |
| UI 구성 [MGCS - Modified Glasgow Coma Scale] Animal Name 입력 --------------------- Motor Activity ( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5 Brainstem Reflex ( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5 Level of Consciousness ( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5 --------------------- Total Score : 0 Status : Normal / Moderate / Severe / Coma --------------------- [SAVE] [LOAD] |
기능
|
| Main Screen (MGCS 평가 화면) (GPT가 작성한 것을 내가 수정) |
| 이 앱의 핵심 화면입니다. |
| UI 구성 [MGCS - Modified Glasgow Coma Scale] Motor Activity ( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5 ( ) 6 Brainstem Reflex ( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5 ( ) 6 Level of Consciousness ( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5 ( ) 6 --------------------- Total Score : 3~18 Status : grave / guarded / good --------------------- [SAVE] [LOAD] |
| [SAVE] 버튼 클릭 시 Hint : Insert Animal Name [chart select box] [SAVE] |
| 기능 - 점수 선택 시 자동 totalScore 계산 - 점수 선택 시 상태 자동 표시 - [SAVE] 버튼 클릭 시 → 이름 작성 & 차트 선택 → DB 저장 - LOAD → 최근 기록 불러오기 or 최근 저장된 기록중 불러올 값을 선택하여 불러오기 |
| Records Screen (기록 화면) (GPT) |
| 저장된 데이터 리스트 |
| Records -------------------------------- Name Score Date -------------------------------- Coco 12 2026-03-09 Milo 8 2026-03-08 Bella 10 2026-03-08 -------------------------------- |
기능
|
| Records Screen (기록 화면) (GPT가 작성한 것을 내가 수정) |
| 저장된 데이터 리스트 |
| Records -------------------------------------------------------------------- Name Score Status Date Chart --------------------------------------------------------------------- Coco 12 guarded 2026-03-09 C1 Milo 18 good 2026-03-08 C4 Bella 10 guarded 2026-03-08 Bella 10 guarded 2026-03-07 C5 . . . . --------------------------------------------------------------------- |
| 기능 - 기록 리스트 최신순으로 표시 - Swipe 삭제 - Long Click 삭제 - 리스트 스크롤 뷰로 조회 - 차트 선택 가능 |
| Chart Screen (차트 선택) (GPT) |
| 기록 중 최대 5개 선택 |
| Select Records for Chart ☐ Coco - 12 ☐ Milo - 8 ☐ Bella - 10 ☐ Charlie - 7 ----------------------- [DELETE] [SHOW GRAPH] |
기능
|
| Chart Screen (차트 선택) (GPT가 작성한 것을 내가 수정) |
| 5개의 차트 중 선택하여 1개 조회 가능 |
| Select Records for Chart ☐ Chart1 ☐ Chart2 ☐ Chart3 ☐ Chart4 ☐ Chart5 ----------------------- |
| 기능 - 5개의 차트 리스트 조회 가능 - 리스트에서 1개 선택 시 → 상세 그래프 화면 |
| Graph Screen (GPT) |
| 선택된 기록 그래프 |
| MGCS Score Graph | 15 | * | 10 * | * | 5 |__________________ Date ----------------------- |
그래프 라이브러리 추천
|
| Graph Screen (GPT가 작성한 것을 내가 수정) |
| 선택된 기록 그래프 |
| MGCS Score Graph | 15 | * | 10 * | * | 5 |__________________ Date ------------------------------------------------------- Data list in chart ------------------------------------------------------- ☐ Coco - 12 ☐ Milo - 8 ☐ Bella - 10 ☐ Charlie - 7 |
그래프 라이브러리 추천
|
| Database 설계 (Room) (GPT) |
| MGCS 기록 저장 테이블 |
| @Entity(tableName = "mgcs_record") data class MgcsRecord( @PrimaryKey(autoGenerate = true) val id: Int = 0, val animalName: String, val motorScore: Int, val brainstemScore: Int, val consciousScore: Int, val totalScore: Int, val date: Long ) |
| Android 프로젝트 구조 (추천) (GPT) |
| cohttp://m.example.mgcs data ├ database │ ├ AppDatabase │ └ RecordDao │ ├ model │ └ MgcsRecord │ └ repository └ RecordRepository ui ├ main │ ├ MainActivity │ └ MgcsViewModel │ ├ records │ └ RecordActivity │ ├ chart │ └ ChartActivity │ └ graph └ GraphActivity di └ HiltModule utils └ DateUtils |
| Q. Database 설계 (Room) 너가 설계해준 이거있잖아. 내가 DB를 따로 쓰지 않고 폰에 직접 data를 저장하려고해 그럴때 Database 설계 (Room) 이거랑 Android 프로젝트 구조 (추천) 이거 다시 작성해줘 |
| A. 좋은 선택입니다 👍 이 앱 규모라면 DB(Room)까지 쓰지 않고 폰 내부 저장(Local Storage) 으로도 충분합니다. 안드로이드에서 DB 없이 저장하는 방법은 보통 3가지입니다. 1️⃣ SharedPreferences / DataStore → 설정 저장용 2️⃣ 파일 저장 (JSON) → 리스트 데이터 저장 3️⃣ SQLite / Room → 큰 데이터 지금 MGCS 앱은 기록 리스트가 필요하므로 👉 JSON 파일 저장 방식이 가장 적합합니다. |
| 데이터 저장 구조 (파일 기반) (GPT) |
| 파일 예시 mgcs_records.json 데이터 구조 [ { "id": 1, "animalName": "Coco", "motorScore": 4, "brainstemScore": 3, "consciousScore": 4, "totalScore": 11, "date": 1710000000000 }, { "id": 2, "animalName": "Milo", "motorScore": 3, "brainstemScore": 2, "consciousScore": 3, "totalScore": 8, "date": 1710000100000 } ] |
| Android 프로젝트 구조 (파일 저장 방식) (GPT) |
| Room을 제거한 구조입니다. cohttp://m.example.mgcs data ├ model │ └ MgcsRecord │ └ storage └ RecordStorage ui ├ main │ ├ MainActivity │ └ MgcsViewModel │ ├ records │ └ RecordsActivity │ ├ chart │ └ ChartActivity │ └ graph └ GraphActivity utils ├ JsonUtils └ DateUtils |
'안드로이드 스튜디오' 카테고리의 다른 글
| 안드로이드 할 줄 몰라도 Ai로 개발부터 배포까지 가능할까 5 - 프로젝트 타임라인 (0) | 2026.03.18 |
|---|---|
| 안드로이드 할 줄 몰라도 Ai로 개발부터 배포까지 가능할까 4 - 와이어프레임, 화면 정의서 (0) | 2026.03.17 |
| 안드로이드 할 줄 몰라도 Ai로 개발부터 배포까지 가능할까 2 - 기능 리스트 (0) | 2026.03.12 |
| 안드로이드 할 줄 몰라도 Ai로 개발부터 배포까지 가능할까 1 - 앱 구조 알고리즘 (0) | 2026.03.12 |
| [안드로이드 스튜디오] 앱에서 글 쓰기 / 리스트생성 , 내가 쓴 글 리스트에 추가, 리스트 삭제 / listView , EditText 사용 글자 예시 , hint (0) | 2023.08.30 |