Я хотел бы создать функцию, которая будет вычислять число из одного столбца. Тогда я хотел бы одеть ее в текстовое представление. У меня есть база данных из комнаты и дао. Проблема в том, что я не могу вызвать функцию, потому что я делаю что-то не так. Кто-нибудь может мне помочь?
ПОМИАР:
package com.example.mwproto1.ROOM
import android.os.Parcel
import android.os.Parcelable
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey
@Entity
data class Pomiar(
@ColumnInfo(name="Stezenie")
val Stezenie: String?,
@ColumnInfo(name="Data")
val Data: String?,
@ColumnInfo(name="Zegar")
val Zegar: String?,
@ColumnInfo(name="Posilek")
val Posilek: String?
): Parcelable{
@PrimaryKey(autoGenerate = true)
var id :Int = 0
constructor(parcel: Parcel) : this(
parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readString()
) {
id = parcel.readInt()
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(Stezenie)
parcel.writeString(Data)
parcel.writeString(Zegar)
parcel.writeString(Posilek)
parcel.writeInt(id)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<Pomiar> {
override fun createFromParcel(parcel: Parcel): Pomiar {
return Pomiar(parcel)
}
override fun newArray(size: Int): Array<Pomiar?> {
return arrayOfNulls(size)
}
}
}
БАЗА ДАННЫХ:
package com.example.mwproto1.ROOM
import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
@Database(
entities = arrayOf(Pomiar::class),
version = 1
)
abstract class Database:RoomDatabase(){
abstract fun getPomiarDao():PomiarDao
companion object{
@Volatile private var instance:com.example.mwproto1.ROOM.Database?=null
private val LOCK = Any()
operator fun invoke(context: Context)= instance?: synchronized(LOCK){
instance ?: buildDatabase(context).also{ it ->
instance = it
}
}
private fun buildDatabase(context: Context) = Room.databaseBuilder(
context.applicationContext,
com.example.mwproto1.ROOM.Database::class.java,
"pomiardatabase"
).build()
}
}
Дао:
package com.example.mwproto1.ROOM
import androidx.room.*
@Dao
interface PomiarDao {
@Insert
suspend fun addPomiar(pomiar: Pomiar)
@Query("SELECT * FROM pomiar ORDER BY id DESC")
suspend fun getAllPomiar():List<Pomiar>
@Insert
suspend fun addMultiplePomiar(vararg pomiar: Pomiar)
@Update
suspend fun updatePomiar(pomiar: Pomiar)
@Delete
suspend fun deletePomiar(pomiar: Pomiar )
@Query("SELECT avg(Stezenie) FROM Pomiar ")
suspend fun avg(pomiar: Pomiar)
}
Последний только мой средняя функция, что, к сожалению, плохо, я попробовал еще несколько способов, но ничего не вышло; .... ///