하얀설표 블로그




dart, flutter Hive package 사용을 위한 준비작업




( 수정됨)


dependencies 추가

drift installing에는 drift만 추가하면 된다고 하지만, sqlite3_flutter_libs를 같이 추가해줘야 한다.
해당 패키지는 sqlite3를 flutter에서 사용할 수 있도록 해주는 패키지라고 하는데, 직접 사용하진 않지만 이게 없다면 flutter에서 sqlite를 사용할 때 에러가 발생한다.

dependencies:
  ...
  hive: ^2.2.3
  hive_flutter: ^1.1.0

dev_dependencies:
  ...
  hive_generator: ^2.0.1
  build_runner: ^2.4.7

hive dev: https://pub.dev/packages/hive/install

hive_flutter dev: https://pub.dev/packages/hive_flutter/install

hive_generator dev: https://pub.dev/packages/hive_generator/install

build_runner dev: https://pub.dev/packages/build_runner/install

model 작성 후 build

굳이 순서를 따지자면 사용 전 준비사항은 아니고, 준비 중에 해야 하는 작업이긴한데, 일단 여기에 적어둔다.
database에 사용할 테이블과 테이블에서 사용하는 각 Column들의 명칭과 속성을 정한 다음, 다음 명령어를 실행해줘야 한다.

flutter pub run build_runner build

dart/flutter 프로젝트에서 sqlite를 사용할 때, 어떤 값을 어떻게 조작할지 정해놓은 가이드라인이다.
이 명령을 통해 "{DbHandleName}.g.dart" 파일이 자동으로 작성되며, 이 파일을 생성하기 위해서는 DbHandle class가 들어있는 .dart 파일 상단에 "part {DbHnaleFileName}.g.dart"라는 코드를 작성해두어야 한다.

이런 내용도 안 써놓은 사람들 많더라.
그 덕분에 코드는 멀쩡하게 완성했는데 왜 안되나 쓸데없는 고민만 잔뜩 했다.

참고로 프로젝트 폴더에 한정해서 이루어지는 작업이기 때문에 실행 경로가 프로젝트가 아니거나, flutter 명령이 환경설정에 기본으로 되어있지 않다면 정상적으로 작동하지 않는다.
이 경우 윈도우 기준 cmd를 실행한 다음, 다음과 같은 순서로 명령을 해주어야 한다.

$ cd {path/to/flutter/project/directoty}
{path/to/flutter/project/directoty}$ {path/to/flutter}/bin/flutter pub run build_runner build

당연한 말이지만 "{path/to/flutter/project/directoty}"은 플러터 프로젝트의 lib 폴더가 존재하는 경로(sqlite.dll을 집어넣은 바로 그 경로)이고, "{path/to/flutter/project/directoty}"는 플러터 파일이 존재하는 폴더를 의미한다.


공감 : 0







white.seolpyo.com