4

私はAndroid開発に不慣れで、Androidアーキテクチャコンポーネントに従ってメモアプリを作成しようとしていますが、実行中にDAOでエラーが発生します。これが私が得ているコードとエラーです。

私が得ているエラー

DAO:-

'''

@Dao
interface NoteDao {
    @Insert(onConflict = OnConflictStrategy.IGNORE)
    suspend fun insert(note :Note)

    @Delete
    suspend fun delete(note : Note)

    @Query("SELECT * FROM Notes_table order by id")
    fun getALL(): LiveData<List<Note>>

    @Query("SELECT * From Notes_table where id= :pos")
    fun getSpecific(pos :Int):Note

}

'''

実在物:-

'''

@Entity(tableName = "Notes_table")
data class Note(@ColumnInfo(name="noteText") val text:String) {
    @PrimaryKey(autoGenerate = true) var id:Int =0

}

''' データベース:-

'''

@Database(entities = [Note::class],version = 1,exportSchema = false)
abstract class NoteDatabase : RoomDatabase() {

    abstract fun getNoteDao():NoteDao

    companion object{
        @Volatile
        private var Instance: NoteDatabase?=null

        fun getDatabase(context :Context):NoteDatabase{

            return Instance ?: synchronized(this){
                val instance=Room.databaseBuilder(context.applicationContext,
                NoteDatabase::class.java,"note_database").build()
                Instance=instance
                instance
            }
        }

    }

}

DAO のインポート:-

import androidx.lifecycle.LiveData
import androidx.room.

エンティティのインポート:-

import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey

データベースのインポート:-

import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase

必要に応じて、残りのコードを提供できます。

4

3 に答える 3

3

今日も同じ問題が発生しました。Roomバージョンを から2.3.0に更新することで修正されました2.4.0-beta02。バージョンはここにあります: https://developer.android.com/jetpack/androidx/releases/room#2.3.0-alpha04

于 2021-11-18T20:40:13.027 に答える