문제 상황 Hilt를 사용한 종속 항목 삽입 | Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. Hilt를 사용한 종속 항목 삽입 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Hilt는 프로젝트에서 종속developer.android.com공식 문서를 보고 Hilt 설정을 그대로 진행했는데 해당 빌드 에러가 발생했다. 에러 로그 분석A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction무슨 오류 인지 찾아보니까 Kotlin 버전과 Gradle 플러그인..
레파지토리 전략main: 프로젝트의 최신 안정 버전을 유지하는 브랜치dev: 프로젝트의 개발이 이루어지는 브랜치dev 브랜치에서 기능 구현, 버그 수정, UX 개선 등의 작업을 진행하고,기능 개발이 완료 되었다면 dev 브랜치를 main 브랜치에 병합한다. main 브랜치는 프로젝트 백업 및 앱 배포를 진행하는데 사용되는 브랜치이다. 폴더 구조com.hamond.escapeanchovy/ (패키지명)│ ├── constants/: 전역적으로 사용할 상수들 모음│ ├── data/: 애플리케이션의 데이터 로직 및 API 호출 처리│ ├── model/: 데이터 모델│ ├── repository/: 데이터 관련 로직 │ │ └── ex/ (예시)│ │ ..
현재 상황국비는 수료했는데 최종 프로젝트에서 개발한 기능이회원가입이랑 비밀번호 재설정 밖에 없어서 이력서에 작성할 다른 기능들을 개발해야겠다는 생각이 들었다. 최종 프로젝트는 다른 팀원들이 이미 필요한 기능은 다 구현해놨고계정 관련 기능을 다른 방식으로도 구현해보고 싶었지만 그러면계정 정보를 업데이트 하는 다른 로직도 일괄적으로 수정해야 한다고 그래서 결국 새로운 프로젝트를 하나 하기로 했는데그 때 옛날에 현장실습 끝나고 하다가 만 프로젝트가 떠올랐다. 그 프로젝트 '멸치탈출 (플러터)' 카테고리의 글 목록앱 개발 & 코테 정리해서 올리는 블로그tsi0511.tistory.com 그 프로젝트는 바로 내 옛날 운동루틴을 기반으로 한 운동일지인데이걸 안드로이드 앱으로 만들어보면 좋은 개발 경험이 될 것 같..
개요 해당 사진은 운동시작 버튼을 눌렀을 때 출력할 운동화면들이다. 항목1 > 휴식 페이지 > 항목2 > 휴식 페이지 > (반복) > 완료 페이지 순으로 화면이 라우팅 된다.항목1과 항목2 운동페이지는 운동항목 설정 다이얼로그에서 설정한 종목으로 화면이 출력된다. 운동파트 구현 라우팅 설정 exercise폴더에 필요한 파일들을 만들어주고 class ExerciseScreen1 extends StatefulWidget { const ExerciseScreen1( {super.key, required this.exerciseController, required this.homeController}); final ExerciseController exerciseContro..
개요 운동항목은 풀업, 친업, 푸쉬업, 너클 푸쉬업 이렇게 총 4개이다.풀업과 친업은 항목1에 해당하고 푸쉬업과 너클 푸쉬업은 항목2에 해당한다. 원래는 운동항목 설정 없이 풀업과 푸쉬업 기록만 추가하려고 했는데 그립을 살짝 바꿔서 다른 부분도 단련할 수 있는 종목도 추가하면 좋겠단 생각이 들어총 4개의 항목을 중 2개의 항목을 선택하는 다이얼로그를 구현할 것이다. 운동항목 설정 다이얼로그 구현 CommonDialogimport 'package:escape_anchovy/res/text/colors.dart';import 'package:escape_anchovy/res/text/styles.dart';import 'package:escape_anchovy/src/common/common_button..
개요 모종의 이유로 운동을 오랫동안 하지 않게 된다면수행능력이 퇴하하게 되고 이는 의욕상실 이어지게 된다. 몸을 만드려면 꾸준하게 운동을 하여점진적 과부화의 원리를 적용해 수행능력을 늘려나가야 한다. 그런 의미에서 운동을 하지 않게 될 때 나 자신에게 경각심을 주기 위해일정 시간이 지나면 일지를 초기화시키는 타이머를 홈화면에 배치할 것이다. 원래는 일지 초기화까지의 시간을 3일로 하려고 했는데여행을 가거나 아플 때도 있다는 걸 고려해서 1주일로 하기로 했다. 운동기록 초기화 타이머 구현 일지 데이터에 필요한 키값 추가 _controller.addData({ 'time': DateTime.now().toString(), 'day': _controller.dataList.length + 1, 'ex..
전체 일지 확인 화면 구현하기 라우팅 설정 좌측 버튼을 통해 전체 일지를 확인할 수 있는 페이지로 넘어가게 할 것이다. CommonOutlineButton( width: 65, height: 18, onPressed: () { Navigator.pushNamed(context, NoteScreen.routeName); }, text: '전체 일지 확인', textStyle: TextStyles.caption2.copyWith(height: 0.01))버튼을 눌렀을 때 해당 화면으로 라우팅 하도록 설정 데이터 불러오기import 'package:escape_anchovy/src/util/shared_preferences_util.dart';import 'package:flutter/material.d..
데이터 추가 및 삭제하기 SharedPreference 함수 추가하기 // 키값을 통해 Json 리스트 불러오기 static List> getJsonList(String key) { List? dataList = _prefs?.getStringList(key); return dataList ?.map((value) => json.decode(value) as Map) .toList() ?? []; } // Json 리스트 키에 저장하기 static Future setJsonList(String key, List> list) { List dataList = list.map((map) => json.encode(map)).toList(); ..