android 多数据源的分页库DataSource.Factory

2023-12-26

我有多个数据源。但只有一个DataSourceFactory。因此,所有来源都共享一个工厂。我需要每个数据源一个 DataSourceFactory。

在我的应用程序中,我有多个 RecyclerViews 视图,因此有多个自定义数据源。那么,您最终是否会为每个数据源创建 DataSource.Factory 的多个实现,还是有更通用的解决方案?

Edited

我在我的案例中找到了解决方案。在我之前的版本中,我仅对所有数据源使用一个数据源工厂。现在,每当从 ViewModel 调用方法时,我都会创建数据源工厂对象,例如

private void initData(String id) {
    executor = Executors.newFixedThreadPool(5);

    factory = new EvaluationDataSourceFactory(compositeDisposable, api, id);

    networkState = Transformations.switchMap(factory.getDataSource(), source -> {
                Timber.d("network status get");
                return source.getNetworkState();
            }
    );

    PagedList.Config pagedListConfig =
            (new PagedList.Config.Builder())
                    .setEnablePlaceholders(false)
                    .setInitialLoadSizeHint(5)
                    .setPrefetchDistance(5)
                    .setPageSize(5).build();

    error = Transformations.switchMap(factory.getDataSource(), source -> {
        return source.getError();
    });

    assessments = (new LivePagedListBuilder(factory, pagedListConfig)).setFetchExecutor(executor).build();
}

public void getAssessments(String id) {
    initData(id);
}

然后,您可以从您的活动或片段中调用此方法,例如

viewModel.getAssessments(id);

这对我有用。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 多数据源的分页库DataSource.Factory 的相关文章

  • 不可变位图崩溃错误

    java lang IllegalStateException Immutable bitmap passed to Canvas constructor at android graphics Canvas
  • Android - 如何访问 onResume 中 onCreate 中实例化的 View 对象?

    In my onCreate 方法 我正在实例化一个ImageButton View public void onCreate Bundle savedInstanceState super onCreate savedInstanceSt
  • 如何改变android中menuItem的背景颜色?

    我正在以编程方式将菜单项添加到菜单中 我想在选择特定项目时添加背景颜色 如何为 menuItem 添加背景 您的回答将不胜感激 虽然其他答案提供了更改样式 这会影响all菜单项 据我了解 需要更改一个菜单项 我建议你使用android ac
  • Mailgun POST /messages API 总是抛出 401 禁止

    我正在尝试使用改造库在 Android 中发送 Mailgun POST messages API 请求 以下是改装要求 HTTP POSThttps api key xxx v3 sandboxxxx messages https api
  • 无法解析符号 FlutterActivity

    我使用 VCS gt Checkout from Version Control 将 flutter 项目从 github 导入到 Android Studio 中 现在我面临的问题是 Cannot resolve symbol Flutt
  • 如何编辑 gradle 依赖项

    我正在开发一个 android 项目 该项目在我的 gradle 文件中使用以下依赖项 compile com mapzen on the road 1 1 1 我想编辑其中一个文件 以添加一些缺少的功能并为该项目做出贡献 如何下载该项目并
  • MI设备中即使应用程序被杀死,如何运行后台服务

    您好 我正在使用 alaram 管理器运行后台服务 它工作正常 但对于某些 mi 设备 后台服务无法工作 我使用了服务 但它无法工作 如何在 mi 中运行我的后台服务 MI UI有自己的安全选项 所以你需要的不仅仅是上面提到的粘性服务 你需
  • 无法将 Tesseract OCR 模块添加到 Android Studio

    我按照此处找到的分步指南进行操作 https www codeproject com Articles 840623 Android Character Recognition https www codeproject com Artic
  • Android - 除了普通 SSL 证书之外还验证自签名证书

    我有一个通过 SSL 调用 Web 服务的 Android 应用程序 在生产中 我们将拥有由受信任的 CA 签名的普通 SSL 证书 但是 我们需要能够支持自签名证书 由我们自己的 CA 签名 我已经成功实施了接受自签名证书的建议解决方案
  • Locale.getDefault().getCountry() 返回空字符串

    我正在尝试使用国家 地区代码获取用户语言 例如en US es es 但是当我使用Locale getDefault getCountry 它返回空字符串 虽然它给了我正确的语言Locale getDefault getLanguage N
  • 如何从SurfaceView绘制到Canvas?

    我正在尝试做简单的画家 问题是Android看起来有三个独立的Canvas并给我它来顺序绘制 我用以下方式制作了用户界面SurfaceView 把霍尔德从中拿走 Override protected void onCreate Bundle
  • onTouchEvent()中如何区分移动和点击?

    在我的应用程序中 我需要处理移动和单击事件 一次点击是由一个 ACTION DOWN 操作 多个 ACTION MOVE 操作和一个 ACTION UP 操作组成的序列 理论上 如果您收到 ACTION DOWN 事件 然后收到 ACTIO
  • 点击监听器的公共类

    我的所有 6 项活动中有 7 个按钮 所有 6 个按钮在所有活动中都具有相同的功能 如何为这 6 个按钮执行通用的单击事件侦听器 您可以创建一个实现 View OnClickListener 的新类 如下所示 public class My
  • 无法在 Android 模拟器中安装 apk

    我正在尝试通过 adb shell 在 ICS 模拟器中安装 apk 从一个站点下载 但出现以下错误 失败 INSTALL FAILED UID CHANGED 可能是什么问题 只需 rm r 有问题的数据目录即可 如果您在安装时遇到此错误
  • 带有空白白屏的 WebView

    我在 DialogFragment 中有一个 webview 它使用以下方式显示文档和 PDF它可以进行几次尝试 但如果用户尝试频繁打开和关闭对话框 webview 将显示空白屏幕 我已经尝试了所有的线程link1 https stacko
  • Android:单一活动,多个视图

    我不是 Android 专业人士 尽管我开发了一个包含 50 多个活动的应用程序 这使得该应用程序非常庞大 经过8周的开发 现在出现了一些问题 导致应用程序难以维护和升级 我正在处理的主要问题是 我无法将对象引用传递给活动的构造函数 事实上
  • 如何更改锁屏自定义文本(所有者信息)?

    我写了程序代码 String message This is test Settings System putString context getContentResolver Settings Secure LOCK PATTERN EN
  • 如何使 tablayout 文本大小相等?

    这就是我所做的 我为文本创建了一种样式
  • gradle-experimental:0.1.0 buildConfigField

    谁知道怎么定义buildConfigField在实验性的 gradle 插件中 android productFlavors create demo applicationId com anthonymandra rawdroid buil
  • 绘制大位图时 nSyncAndDrawFrame 速度极慢

    我想用多个大位图优化视差滚动视图 在我的 Nexus 5 上 一切都很顺利 Traceview 转储如下所示 doFrame 方法大约需要 18 毫秒才能完成 但是 当使用我的 Nexus 7 或 Android 6 模拟器 Genymot

随机推荐

  • 以与 SSISDB 不同的用户身份执行 SSIS 包

    我们要求用户使用代理帐户并引用输入参数来执行 SSIS 包 下面演示了用于调用包执行的语法 DECLARE ExportID INT 1 DECLARE ExecutionID INT EXECUTE AS proxy account EX
  • 如何将我的 MAUI 应用连接到 Firestore 数据库? (通过服务帐户 json 文件)

    创建一个 MAUI 应用程序并尝试将其连接到 Firestore 我正在跟进这里的建议 https cloud google com dotnet docs reference Google Cloud Firestore latest下载
  • Spring集成测试启动缓慢。原因?无法禁用 RabbitMQ

    我在启动集成测试时遇到性能问题 我正在尝试模拟系统的消息传递 为此 我基本上使用 MockBean在我的网关上并使用 EnableAutoConfiguration exclude RabbitAutoConfiguration class
  • Discord.py 按钮响应交互在一段时间后失败

    我有一个非常基本的脚本 它会弹出一条消息 其中包含带有命令 place 的按钮 单击此按钮后 机器人会向单击它的用户回复 嗨 如果按钮没有交互超过大约 3 分钟 它就会开始返回 交互失败 之后按钮就变得毫无用处 我假设有某种内部超时 我在文
  • 数组索引越界 - Java

    我已经开始编写我的第一个 Java 程序 这是一个简单的计算器 但是我收到一条错误消息 声称我的数组超出范围 我尝试对其进行调试 以了解出现这种情况的位置和原因 并按照纸上的代码进行操作 这两者都显示了我期望和希望的结果 因此 我看不出问题
  • 通过定义者角色权限在PL/SQL过程中执行动态DDL

    我想在管理员用户拥有的过程中执行一些动态 DDL 我想使用具有定义者权限的技术操作用户执行此过程 操作用户没有创建表角色 问题是 创建表 权限是通过使用角色授予管理员用户的 这不允许我执行 DDL 因为角色似乎不计入命名的 pl sql 块
  • mod_rewrite:如何重定向 HTTP DELETE 和 PUT

    我尝试使用 mod rewrite 在 php 中编写一些 REST API 我的问题是 如何处理 HTTP DELETE 和 PUT 例如 网址为 书 1234 其中 1234 是一本书的唯一 ID 我想将此 id 1234 重定向 到
  • 使用 Filehelpers 处理 DelimitedRecord 中的 NEWLINE

    我使用优秀的 FileHelpers 库来解析许多不同的文件 其中一个文件的 一些 行看起来像这样 id name comments date 01 edov bla bla bla bla 2012 01 01 02 john bla b
  • 如何从空手道中的 api 端点获取下载的 xlsx 文件?

    我有一个下载 xlsx 文件的端点 在我的测试中 我需要检查文件的内容 不是将文件与另一个文件进行比较 而是读取内容并检查 我正在使用空手道框架进行测试 并尝试使用 apache POI 来处理 Excel 工作表 但是 调用下载端点时我从
  • SQL查询获取每分钟的最后一条记录

    我有一个每秒更新一些值的表 我想检索每分钟的最后一条记录 我已经尝试过这段代码 但它返回所有记录 SELECT t0 brandID t0 brandName t0 cdt t0 udt t0 brandstatus FROM brands
  • laravel背包用户密码

    我在背包里为我的用户做了一个crud 当我创建用户时 一切正常 但如果我更新 我会收到 密码 错误 因为如果我不想更新它 我会将其留空 密码不能为空 如果我将其留空 如何才能不在 POST 中添加 密码 或者我如何默认当前密码 还有一个 确
  • 使用索引查找相似图像的算法

    有一些非常好的图像比较工具可以找到相似的图像 即使它不完全相同 例如 尺寸 壁纸 亮度 对比度的变化 我这里有一些示例应用程序 Unique Filer 1 4 共享软件 https web archive org web 20010309
  • 使用 --recursive 和 --bare 克隆 git 存储库

    为了克隆存储库及其所有子模块 我知道您可以这样做 git clone recursive
  • 作为 Snakemake 工作流程输入的值数组

    我开始将我的工作流程从Nextflow to Snakemake并且已经在我的管道开始处碰壁了 管道通常以数字列表开头 代表我们检测器的 运行编号 我所拥有的例如是run list txt like detector id run numb
  • 如何使用 EF Core 在 ASP.NET Core 中取消应用迁移

    当我跑步时PM gt Remove Migration context BloggingContext在 VS2015 中使用 EF Core 的 ASP NET Core 项目出现以下错误 System InvalidOperationE
  • fastApi 中的 python 全局变量无法正常工作

    我有一个简单的 fastApi 演示应用程序 它实现了一个功能 通过调用名为changeResponse的post api来获取不同的响应json changeResponse api只是改变了一个全局变量 另一个api通过同一个全局变量返
  • 手机上的陀螺仪漂移

    很多帖子都讨论了陀螺仪漂移问题 有些人说陀螺仪读数有漂移 但其他人说积分有漂移 原始陀螺仪读数有漂移 link https stackoverflow com questions 1586658 combine gyroscope and
  • 在 ASCIIFoldingFilter 中使用静态“foldToAscii”方法

    我一直在使用 ASCII 折叠过滤器来处理变音符号 不仅适用于弹性搜索中的文档 还适用于各种其他类型的字符串 public static String normalizeText String text boolean shouldTrim
  • 单个解析服务器中的多个应用程序

    我花了整整一周的时间将 parse com 上托管的应用程序迁移到解析服务器 设法使一切完美运行 唯一的问题是让它在单个硬件上运行多个应用程序 而无需为此分配服务器应用程序它有 它会变得昂贵 我读了这个讨论 https github com
  • android 多数据源的分页库DataSource.Factory

    我有多个数据源 但只有一个DataSourceFactory 因此 所有来源都共享一个工厂 我需要每个数据源一个 DataSourceFactory 在我的应用程序中 我有多个 RecyclerViews 视图 因此有多个自定义数据源 那么