Android 从协程流获取数据
我正在观察网络中的变化,当有连接时,我想从房间数据库中获取数据 我有getOfflineData,它返回一个数据流Android 从协程流获取数据,android,kotlin,android-room,kotlin-coroutines,coroutine,Android,Kotlin,Android Room,Kotlin Coroutines,Coroutine,我正在观察网络中的变化,当有连接时,我想从房间数据库中获取数据 我有getOfflineData,它返回一个数据流 @Query("SELECT * FROM OfflineData") fun getOfflineData(): Flow<List<OfflineData>> 当我使用下面的代码从函数getOfflineData()获取数据时,当我切换连接时,它不会记录连接更改消息。它也得不到数据 我可能犯了一些根本性的错误,请纠正我
@Query("SELECT * FROM OfflineData")
fun getOfflineData(): Flow<List<OfflineData>>
当我使用下面的代码从函数getOfflineData()获取数据时,当我切换连接时,它不会记录连接更改消息。它也得不到数据
我可能犯了一些根本性的错误,请纠正我
fun listenToConnectionChanges() {
launch {
OfflineDatabaseManager.getInstance(app.applicationContext).networkConnectionActivated
.collect { isNetworkConnectionActive ->
Timber.d("OfflineDataLib - getOfflineData() - isNetworkConnectionActive - " + isNetworkConnectionActive)
if (isNetworkConnectionActive) {
OfflineDatabaseManager.getInstance(app.applicationContext).getOfflineData().collect {
Timber.d("OfflineDataLib - getOfflineData() - isNetworkConnectionActive - offlinedata - " + it.toString())
}
}
}
}
}
我想实现的是,当存在连接时,我想从getOfflineData
获取数据
提前谢谢
R您的意思是它不记录此日志。d(“OfflineDataLib-getOfflineData()-…您好,当网络在函数ListentConnectionChanges()中处于活动状态时”,我想从数据库中获取数据确保流回调从数据库返回空值,您可以调试,如果流回调中的日志没有执行,我猜这些值是空的
fun listenToConnectionChanges() {
launch {
OfflineDatabaseManager.getInstance(app.applicationContext).networkConnectionActivated
.collect { isNetworkConnectionActive ->
Timber.d("OfflineDataLib - getOfflineData() - isNetworkConnectionActive - " + isNetworkConnectionActive)
if (isNetworkConnectionActive) {
OfflineDatabaseManager.getInstance(app.applicationContext).getOfflineData().collect {
Timber.d("OfflineDataLib - getOfflineData() - isNetworkConnectionActive - offlinedata - " + it.toString())
}
}
}
}
}