【问题标题】:How to save numbers in room database kotlin如何在房间数据库kotlin中保存数字
【发布时间】:2020-12-09 16:13:30
【问题描述】:

我想创建一个简单的财务报告应用程序。

由于期初余额、库存采购、其他费用、销售和银行业务都是双数,我想使用房间数据库、喷气背包组件

【问题讨论】:

  • 请具体说明您的问题。如果您不确定从哪里开始,请尝试在线提供的教程或示例代码并回答您具体面临的任何问题。

标签: kotlin android-room


【解决方案1】:

你不能问这种类型的问题,但看看这个示例(使用 roomDB 的最简单方法)

首先你需要定义你的数据库类

@Database(entities = [CompaniesModel::class,  UserPoint::class], version = 15) //here is the models which will have the structure of your database  
abstract class DataBase : RoomDatabase() {

/**
 * define companies dao to make some quires
 */
abstract fun homeDao(): HomeDao
abstract fun companiesDao(): CompaniesListDao

companion object {
    @Volatile
    private var databaseInstance: DataBase? = null

    fun getDatabaseInstance(mContext: Context): DataBase =
        databaseInstance ?: synchronized(this) {
            databaseInstance ?: buildDatabaseInstance(mContext).also {
                databaseInstance = it
            }
        }

    private fun buildDatabaseInstance(mContext: Context) =
        Room.databaseBuilder(mContext, DataBase::class.java, "crm")
            .fallbackToDestructiveMigration()
            .allowMainThreadQueries()
            .build()
    }
}

以及包含数据库结构的模型

@Entity(tableName = "companiesModel")
data class CompaniesModel(

@PrimaryKey
@ColumnInfo(name = "id")
@SerializedName("id")
var id: Int,
@ColumnInfo(name = "name")
@SerializedName("name")
var name: String,
@ColumnInfo(name = "image")
@SerializedName("image")
var image: String

)

还有你所想的道

@Dao
interface CompaniesListDao {
/**
 * this fun to insert data in room db after fetch data from server
 */
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertCompanies(contactModel: List<CompaniesModel>)

/**
 * this fun to get data from room db to make some caching in app
 */
@Query("SELECT * FROM companiesModel")
fun getCompaniesList(): List<CompaniesModel>

/**
 * this fun to clear companies list from room db
 */
@Query("DELETE FROM companiesModel")
fun clearCompaniesList()

@Update
fun update(contactModel: List<CompaniesModel>)
}

要访问数据,您应该这样称呼它

DataBase.getDatabaseInstance(App.instance).companiesDao().something

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2021-08-05
    • 2022-01-22
    • 2021-01-22
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多