相关疑难解决方法(0)

java/kotlin 模块内的 Jetpack Paging 3

我正在开发一个具有干净架构原则的应用程序。我有一个domain模块,它是一个Java/Kotlin模块,它没有 android 依赖项,还有一个domainImpl模块,它是一个模块,Android并且依赖于和module. 这是模块内部的示例:localremotedomainRepositorydomain

interface MovieRepository {
    fun getMovie(id: Long): Flow<Movie>
}
Run Code Online (Sandbox Code Playgroud)

下面的代码是它在domainImpl模块内部的实现:

class MovieRepositoryImpl(
    private val movieApi: MovieApi
) : MovieRepository {

    override fun getMovie(id: Long): Flow<Movie> = flow {
        emit(movieApi.getMovie(id))
    }

}
Run Code Online (Sandbox Code Playgroud)

在这种情况下一切正常。但现在我正在尝试添加Android Paging 3我的分页。所以我必须向MovieRepository接口添加一个方法,例如:

fun getMovies(): Flow<PagingData<Movie>>
Run Code Online (Sandbox Code Playgroud)

但在此之前,我必须将分页库添加到我的domain模块中,但不幸的是它是一个Android库,我找不到它的核心依赖项。那么我能做什么呢?domain因此我是否必须将模块更改为 android 模块?或者还有其他解决方法吗?

android kotlin clean-architecture android-jetpack android-paging

7
推荐指数
1
解决办法
1922
查看次数