Kya*_*ant 3 kotlin android-room kotlinx.coroutines
我的场景
我使用 Coroutines 和 Room 来保存我的应用程序的用户配置文件数据。我有 CompleteProfileActivity :在那个用户填写他们的信息并确认它(确认按钮)。我将它们发送到服务器并观察响应。如果响应成功。我将它们保存到我的 ProfileDatabase。
我的问题 我如何知道我的数据库已更新或我的插入已完成,我的删除不是通过获取大小来完成的?@Insert @Delete 是无效的返回方法。那么除了数据库大小我怎么知道呢?
@Dao
interface ProfileDao {
@Insert(onConflict = OnConflictStrategy.IGNORE)
fun saveProfile(model:Profile)
@Query("SELECT * FROM profile_table")
fun getProfile():Deferred<Profile>
}
Run Code Online (Sandbox Code Playgroud)
如果插入的方法调用成功,则说明成功,否则会出现异常。
此外,这些不必是返回空值的方法。
您可以@Insert返回表中主键的类型,这将是新插入记录的键。
@Insert(onConflict = OnConflictStrategy.IGNORE)
fun saveProfile(model: Profile): Int
Run Code Online (Sandbox Code Playgroud)
在 的情况下@Delete,如果您返回 ,它将返回删除的行数Int:
@Delete
fun deleteProfiles(profiles: List<Profile>): Int
Run Code Online (Sandbox Code Playgroud)
使用@Query,的更手动实现也是如此,如果返回 ,则返回受影响的行数Int:
@Query("DELETE FROM profiles")
fun deleteAllProfiles(): Int
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3818 次 |
| 最近记录: |