인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

lamisu77's profile image
lamisu77

asked

Easy-to-understand introduction to Modern Android Development by Frozen Coder

Practice5A - Implementing Room DB for saving search results (Entity, Dao, Database, TypeConverter)

질문있습니다

Written on

·

1K

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);

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

androidarchitecturekotlinjetpack

Answer 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

frozencoder님의 프로필 이미지
frozencoder
Instructor

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

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

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

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

3. build.gradle (kapt 설정 등)

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

lamisu77's profile image
lamisu77

asked

Ask a question