如何在房间数据库kotlin中保存号码
我想创建一个简单的财务报告应用程序如何在房间数据库kotlin中保存号码,kotlin,android-room,Kotlin,Android Room,我想创建一个简单的财务报告应用程序 由于期初余额、库存购买、其他费用、销售和银行业务都是双倍数字,我想使用room数据库、jetpack组件您不能问此类问题,但请看此示例(使用roomDB的最简单方法) 首先,您需要定义数据库类 @Database(entities = [CompaniesModel::class, UserPoint::class], version = 15) //here is the models which will have the structure of yo
由于期初余额、库存购买、其他费用、销售和银行业务都是双倍数字,我想使用room数据库、jetpack组件您不能问此类问题,但请看此示例(使用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