God*_*win 26 android kotlin android-room kotlin-coroutines
当我尝试将 Dao 更改为新的Flow
Api 时,出现编译错误,指出
Not sure how to convert a Cursor to this method's return type
public abstract kotlinx.coroutines.flow.Flow<java.util.List<com.ezek.ezign.model.ECampaign>> readCampaigns();
Run Code Online (Sandbox Code Playgroud)
道是
@Dao
interface CampaignDao {
@Query("SELECT * FROM campaign ORDER BY timeStamp ASC")
fun readCampaigns(): Flow<List<ECampaign>>
@Query("SELECT * FROM campaign WHERE id = :campaignId")
fun readCampaign(campaignId: Int): Flow<ECampaign>
}
Run Code Online (Sandbox Code Playgroud)
和依赖项是
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2'
implementation "android.arch.persistence.room:runtime:$rootProject.ext.room_version"
kapt "android.arch.persistence.room:compiler:$rootProject.ext.room_version"
//room_version = "2.1.0"
Run Code Online (Sandbox Code Playgroud)
我已经尝试过两者List
和ArrayList
,但没有运气。
提前致谢。
Mic*_*bro 69
不要在同一方法中同时使用 suspend 和 Flow<>!像这样
@Query("SELECT * FROM user")
suspend fun loadAll(): Flow<Array<User>>
Run Code Online (Sandbox Code Playgroud)
只是
@Query("SELECT * FROM user")
suspend fun loadAll(): Array<User>
Run Code Online (Sandbox Code Playgroud)
或者
@Query("SELECT * FROM user")
fun loadAll(): Flow<Array<User>>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3639 次 |
最近记录: |