小编Ami*_*avi的帖子

Android Room无法处理我的课程,因为它无法解析其所有依赖关系

我正在尝试将Room集成到我的kotlin项目中,该项目也使用了数据绑定。我已经实现了所有必需的类(我认为是这样!),但是当我尝试构建项目时,我收到了以下错误消息,并且无法找出导致问题的原因这个错误或我想念的是什么

这是构建日志

e: [PATH_TO_PROJECT]\dataaccess\local\AppDatabase.java:7: error: android.arch.persistence.room.RoomProcessor was unable to process this class because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.
public abstract class AppDatabase extends android.arch.persistence.room.RoomDatabase {
                ^
e: [PATH_TO_PROJECT]\dataaccess\local\BusinessLocalDataSource.java:7: error: android.arch.persistence.room.RoomProcessor was unable to process this class because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.
public abstract class BusinessLocalDataSource implements [PACKAGE].dataaccess.local.BaseDao<[PACKAGE].dataaccess.local.model.Business>, [PACKAGE].dataaccess.BusinessDataSource {
                ^
e: …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-room

13
推荐指数
1
解决办法
468
查看次数

使用 Paging3 库时更改请求并获取新的数据流

我在我的项目中使用了 Jetpack 的Paging 3库来处理数据分页。我有一个用例,当用户更改搜索请求中的某些内容(例如添加/删除一些过滤器)时,我必须调用 API 并根据新的搜索请求使用新数据重新填充我的列表。但是当我创建新Pager实例并将其传递给我的PagingDataAdapter适配器时,它会抛出:

java.lang.IllegalStateException: Collecting from multiple PagingData concurrently is an illegal operation.
Run Code Online (Sandbox Code Playgroud)

我的实现是这样的:


存储库

class Repository {
    fun getDataStream(request: Request): Flow<PagingData<Response>> {
        return Pager(
            config = PagingConfig(
                pageSize = 10,
                initialLoadSize = 10,
                prefetchDistance = 3
            ),
            initialKey = 1,
            pagingSourceFactory = {
                DataPagingSource(
                    request = request,
                    repository = this
                )
            }
        ).flow
    }

    fun getData(page: Int, request: Request): Result<Response> {
        return remoteDataSource.getData(page, request)
    }
}
Run Code Online (Sandbox Code Playgroud)

数据分页源

class DataPagingSource(
    private …
Run Code Online (Sandbox Code Playgroud)

android android-paging android-paging-library

6
推荐指数
2
解决办法
2515
查看次数