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

재철님의 프로필 이미지
재철

작성한 질문수

[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z

할 일 추가하기 기능 구현 (1)

룸 데이터베이스 구성 시 dao 에러 문의

작성

·

37

0

영상이랑 똑같이 했는데 자꾸 문법이 틀렸데요. 소스코드 첨부합니다.

 

package com.example.todolist.db;

import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;


@Dao
public interface TodoDao {
    
    // get All
   @Query("SELECT * FROM TodoEntity")
   fun getAllTodo() : List<TodoEntity>

   @Insert
    fun insertTodo(todo : TodoEntity)

    @Delete
    fun deleteTodo(todo : TodoEntity)

}

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

재철님, 제공해주신 소스코드에서 Kotlin을 사용하여 Room 데이터베이스의 DAO(Data Access Object)를 구성하셨는데, 문법 오류가 발생하는 부분에 대해 질문해주셨군요.

Kotlin에서 함수를 정의할 때 반환 타입이나 인자 목록의 경우, 콜론(:) 뒤에 공백을 넣어주는 것이 kotlin의 코딩 컨벤션입니다. 그러나 문법 오류의 주된 원인이 되는 부분은 없어 보입니다. 다만, Kotlin 코드이기 때문에 TodoEntity 클래스와 관련된 정의나 어노테이션 등이 정확히 구성되었는지 확인이 필요합니다.

여기서 명심하실 점은 Room 라이브러리를 사용할 때, Entity 클래스(TodoEntity)가 올바르게 어노테이션 처리되어 있어야 하며, 모든 필요한 라이브러리가 프로젝트의 build.gradle 파일에 추가되어 있어야 한다는 것입니다.

예시로 TodoEntity 클래스는 다음과 같이 표시될 수 있습니다:

@Entity(tableName = "TodoEntity")
data class TodoEntity(
    @PrimaryKey(autoGenerate = true) val id: Int = 0,
    val todo: String
    // 기타 필요한 필드들
)

만약 문법 오류가 계속 발생한다면, 오류 메시지의 정확한 내용을 함께 공유해주시면 더 구체적인 해결 방안을 제시할 수 있을 것입니다.

추가적으로, Room 데이터베이스 관련 설정이나 사용법에 대해 더 자세히 알아보시고 싶으시면 Android 개발 공식 문서나 Kotlin 관련 문서를 참고하는 것도 좋은 방법입니다.

도움이 필요하시다면 언제든지 추가 질문을 남겨주세요.

재철님의 프로필 이미지
재철

작성한 질문수

질문하기