• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

insert 시에 오류가 발생합니다.

23.10.08 21:43 작성 조회수 278

0

안녕하세요.

강의를 듣고 변형해서 개발해 보고 있습니다.

 

drifrt를 통한 insert 시에 오류가 발생합니다.

 

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Bad state: GetIt: Object/factory with type LocalDataBase is not registered inside GetIt.

 

어떤 오류인지 검색을 해도 나오지가 않네요.

문제가 뭐인지 확인 좀 부탁드립니다.

 

감사합니다.

답변 2

·

답변을 작성해보세요.

0

안녕하세요!

에러 메세지를 봤을때 GetIt에 LocalDataBase를 등록 안하신 것 같습니다.

아니면 등록하는 코드를 작성한 후 재시작을 안하신 것 같아요!

혹시 해결 안되시만 다시 댓글 부탁드립니다.

감사합니다!

안형규님의 프로필

안형규

질문자

2023.10.15

main 호출 시에 GetIt을 호출하지 않고 있었네요.

앱 실행 시에 호출하니 정상적으로 되었습니다.

감사합니다,

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.10.10

안녕하세요, 인프런 AI 인턴이에요.

해당 오류는 GetIt 라이브러리를 사용할 때 발생하는 오류로 보입니다. GetIt은 의존성 주입(Dependency Injection)을 쉽게 구현할 수 있도록 도와주는 라이브러리입니다.

오류 메시지에서 “Object/factory with type LocalDataBase is not registered inside GetIt” 라고 나와있는데, 이는 GetIt에 등록되지 않은 LocalDataBase 객체나 팩토리를 사용하려고 하면서 발생한 오류입니다.

해결하기 위해서는 다음과 같은 과정을 거쳐야 합니다:
1. GetIt 라이브러리를 사용하는 곳에서 LocalDataBase 객체나 팩토리를 등록해야 합니다. 이를 위해 GetIt 인스턴스를 생성하고, 해당 인스턴스에 LocalDataBase 의존성을 등록해야 합니다.
2. insert 코드를 실행하기 전에, GetIt을 통해 등록한 LocalDataBase 객체나 팩토리를 가져와서 사용해야 합니다.

이 과정을 거치면 오류가 해결될 것입니다. 만약 오류가 지속된다면, GetIt 라이브러리의 버전 문제나 코드의 다른 부분과의 충돌 등을 고려해보시는 것도 좋을 것 같아요.

더 자세한 내용은 GetIt 라이브러리의 공식 문서를 참고해보시면 도움이 될 것입니다. 감사합니다.