인프런 커뮤니티 질문&답변

lamisu77님의 프로필 이미지
lamisu77

작성한 질문수

냉동코더의 알기 쉬운 Modern Android Development 입문

Practice5A-검색결과 저장을 위한 Room DB 구현하기 (Entity, Dao, Database, TypeConverter)

질문있습니다

작성

·

975

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

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

같은 문제가 발생해 원인을 알아보고 다른 분들을 위해 답글 남깁니다. 아래 링크 댓글에 원인이 작성되어 있습니다.
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 클래스 (어노테이션 설정 등)

lamisu77님의 프로필 이미지
lamisu77

작성한 질문수

질문하기