지난 차시에 만들었던 MyProfile에 SQflite
를 이용하여, 목표를 추가하고 삭제하는 기능을 만들어봅니다. Goal을 추가하고 삭제하는 기능은 필수로 구현해야하며, Validation과 목표를 수정하는 기능은 선택 사항입니다. 아래 예시 참고하며, 수행하시면 됩니다.
Goal 모델을 정의할 때, 데이터베이스 테이블에는 두 가지 속성이 필요합니다. 첫 번째는
id
로, 데이터 타입은 정수(int)입니다. 두 번째는title
로, 데이터 타입은 문자열(string)입니다. 이 두 속성은 Dart 파일에서도 동일하게 선언해야 합니다. 즉, Goal 모델을 만들 때는 데이터베이스 테이블과 Dart 모델 파일 모두에서id
와title
두 가지 속성을 포함해야 합니다.
- Goal 추가 기능
- App Bar에 있는 추가하는 아이콘 버튼을 눌렀을 때, Goal를 추가할 수 있는 기능
- Goal 삭제 기능
- 삭제 아이콘을 눌렀을 때 해당 Goal이 삭제되는 기능
- 유효성 검사 기능
- Goal을 추가할 때, 아무 값도 입력하지 않고, 추가하기 버튼을 누르면
목표를 입력하세요
라는 메세지 출력
- Goal을 추가할 때, 아무 값도 입력하지 않고, 추가하기 버튼을 누르면
- 수정 기능
- 삭제 버튼 옆에 수정 관련 아이콘을 누르면 해당 Goal을 수정할 수 있는 기능
cf. 수정 기능은 update()
를 활용하면 됩니다.
레포지토리 fork
를 통해 과제를 수행하셔야 합니다. (AIOS 때 진행한 fork 방식과 동일 노션에 추가자료란에 첨부되어있습니다.) 과제에 대한 코드를 작성하시고, Pull Request(PR)
를 작성해주시면 됩니다. PR 작성하실 때, 궁금한 점이나 어려웠던 점 등을 적어주세요. 그리고 구현한 UI 사진도 같이 첨부해주세요
과제 제출 마감 기한은 11월 17일 23:59까지입니다.