这是我的on click函数,当用户点击SIGN UP
时,我想在我的数据库中创建User & Cart
,问题是在我将用户插入到我的数据库中后,我如何才能获得用户ID,因为我必须让它为User
创建Cart
第一个
我尽力了
fun addUser(user: User) {
viewModelScope.launch(Dispatchers.IO) {
roomUserRepository.addUser(user)
checkUser(user.email)
}
}
fun getUser(email: String) {
viewModelScope.launch(Dispatchers.IO) {
val foundUser = roomUserRepository.getUser(email)
if(foundUser != null){
_user.value = foundUser
}
}
}
问题是以前保存的值 则更新该值
购物车表
[cartID(自动生成),用户ID]
[1,0(默认值)]应为1userID
[2,1(上一个用户ID)]它应该是2userID
[3,2(上一个用户ID)]它应该是3userID
因此,当我单击SIGN UP
时,它首先基于旧值添加,然后更新
用户道
@Entity(tableName = "user_table")
data class User(
@PrimaryKey(autoGenerate = true)
var userID: Int = 0,
var fullName: String = "Missing",
var email: String = "Missing",
var password: String = "Missing",
var phone: Long = -1,
var profileImage: String = "Missing",
var userType: Int = -1,
) {
constructor(
userID: Int
) : this(
userID,
fullName = "Missing",
email = "Missing",
password = "Missing",
phone = -1,
profileImage = "Missing",
userType = -1,
)
}
1条答案
按热度按时间wgx48brx1#
@Insert
函数可以返回Long(在单次插入中)或LongArray(用于多次插入)。如果userID是整数类型Int/Long(以及某些其他类型,如Byte),并且使用@PrimaryKey
进行注解,则这将是userID的值。检索此值或重新生成显示列表的UI(因为这将提取userID)。