• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

질문있습니다

22.08.01 22:13 작성 조회수 751

0

안녕하세요 강의잘듣고 있습니다.

BookSearchDao 인터페이스에서 insertBook,deleteBook 함수에 supend 키워드를 사용하면 에러가 발생합니다.

error: Type of the parameter must be a class annotated with @Entity or a collection/array of it.
    kotlin.coroutines.Continuation<? super kotlin.Unit> continuation);

키워드를 사용안하면 잘 동작합니다.

답변 2

·

답변을 작성해보세요.

1

우아님의 프로필

우아

2023.01.08

room version 을 2.4.2 -> 2.4.3 최신 버전으로 변경 후, 컴파일 해보니 잘 동작했습니다.

트위티님의 프로필

트위티

2023.01.14

같은 문제가 발생해 원인을 알아보고 다른 분들을 위해 답글 남깁니다. 아래 링크 댓글에 원인이 작성되어 있습니다.
https://issuetracker.google.com/issues/236612358#comment11
Room 2.4.2는 kotlinx-metadata-jvmKotlin 1.7 정보 읽기를 지원하지 않는 이전 버전의 라이브러리를 사용하고 있습니다.

안정화된 2.4.3 버전에서는 이와 같은 문제를 수정한 상태입니다.

0

코드에서 똑같이 쓰지 않으신 부분이 있으신 것 같습니다. 제 깃헙 저장소와 코드를 비교해 보아 주세요.

https://github.com/cliearl/book-search-app/tree/1c5f6f0b35d325b9b95e2953a04e09f0e6256645

1. BookSearchDao 인터페이스 (함수 파라미터 타입 등)

2. Book 데이터 클래스 (어노테이션 설정 등)

3. build.gradle (kapt 설정 등)

4. BookSearchDatabase 클래스 (어노테이션 설정 등)