본문 바로가기
버킷리스트/앱 만들기

오공완(with 코드팩토리의 플러터 프로그래밍) #17 (데이터베이스 적용하기)

by 또또도전 2024. 8. 22.
반응형

// 이곳에 쓴 내용은 앱 만들기라는 버킷리스트를 달성하기 위해 플러터를 공부하면서 정리하고 있는 내용입니다.

플러터에 대해 아는 것이 거의 없기 때문에 정리하면서 오류가 있을 수 있습니다.

오류를 발견하신 분은 댓글 남겨 주시면 감사하겠습니다.

 

새로운 기능> SQL, SQLite, 드리프트 플러그인, Dismissible 위젯

 

  데이터베이스 구현하기

 

1. 모델 구현하기

2. 테이블 관련 코드 생성하기

처음보는 방법으로 코드를 생성했다.

더욱 문제는 에러가 나 버렸네.


Error: Method not found: 'NullThrownError'.
      final error = e[0] as Object? ?? NullThrownError();
                                       ^^^^^^^^^^^^^^^

 

검색해 보니 라이브러리에 있는 것들을 pub.dev에서 검색을 해서 최신 버전을 설치해 보란다. pub upgrade 버튼을 누르면 되는 걸까? 이것도 해보고, 수동으로 몇 개만(다 바꾸면 뭔가 오류가 더 날 것만 같아서) 최신 버전으로 바꿔서 다시 pub get을 해 본다.

 

 

그랬더니 아래와 같은 메시지, 해당 라이브러리도 버전 업을 해본다.

Because drift_dev 2.1.0 depends on drift >=2.0.0 <2.2.0 and calendar_scheduler depends on drift 2.20.0, drift_dev 2.1.0 is forbidden.
So, because calendar_scheduler depends on drift_dev 2.1.0, version solving failed.

드디어 된 건가?^^;;
불안하게 내 껀 g.dart가 동등한 위치에 있지 책은 아래에 내려가 있는데..

 

3. 쿼리 구현하기

4. 드리프트 초기화하기

5. 일정 데이터 생성하기

6. 일정 데이터 읽기

7. 일정 데이터 삭제하기

8. 일정 개수 반영하기

삭제도 잘 된다..

 

 

<기능 설명 추가>

SQL 구조

  - CREATE TABLE: 테이블 생성

  - INSERT INTO: 특정 테이블에 행을 삽입

  - SELECT: 데이터를 선택할 때 사용

  - UPDATE: 데이터를 업데이트할 때 사용

  - DELETE: 데이터 삭제, 잘못하면 모든 데이터가 날라감.

 

Dismissible 위젯: 밀어서 삭제하기

  - vertical : 세로 움직임, 위에서 아래, 아래에서 위

  - horizontal: 가로 움직임, 좌에서 우, 우에서 좌

  - endToStart: 우에서 좌

  - startToEnd: 좌에서 우

  - 그 밖에.. up, down, none

 

 

휴~~ 회식도 있고, 해서 오랜만에 공부한 것도 있지만 중간중간에 발생하는 에러도 있고, drift_database.dart 파일을 이용해서 g.dart 파일을 만드는 과정은 내가 타이핑해서 만들어지는 것이 아닌 자동 생성이 되는 파일이기 때문에 절대로 오류가 있어선 안된다. 그런데 내가 타이핑을 잘못해서 잘못된 g.dart 파일이 생성이 되었다. g.dart 파일을 지우고, 오타 난 거 새롭게 반영해서 다시 생성하고 해서 겨우 겨우 오류가 수정되었다. 

험난했지만 뿌듯하다~^^;;

 

 

반응형