问题标签 [android-jetpack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4585 浏览

android - Android Jetpack 导航库和 onActivityResult

我正在尝试将应用迁移到在 GoogleIO'18 上宣布的新导航架构组件

假设我需要使用通常以startActivityForResult. 此活动来自库或系统活动,因此我无法修改它。

有没有办法将此活动作为目的地包含在导航图中并从中获取结果?

0 投票
0 回答
6352 浏览

android - NavHostFragment 未解析 (AndroidX)

出于某种原因,我总是遇到以下错误:

我一直在关注 Android 开发人员指南,但在启动应用程序后立即出现上述错误。

nav_graph.xml

activity_main.xml

MainActivity.kt

build.gradle(应用程序)

基本上我正在使用KotlinAndroidX并针对Android P。我真的不知道问题出在哪里。

编辑导入可能有问题。对于导航,我不使用AndroidX. 在使用 Jetpack 构建您的第一个应用程序中,他们使用implementation 'androidx.navigation:navigation-fragment:' + rootProject.navigationVersion但我无法弄清楚他们使用的是哪个版本,因此我阅读了架构组件发行说明,其中说'2.0.0-alpha1'应该使用 AndroidX。不幸的是,这无法解决。

0 投票
1 回答
741 浏览

android - 尝试在空对象引用上调用虚拟方法“boolean androidx.work.State.isFinished()”

我正在尝试使用 codeLab 文档学习 WorkManager for Android。当我尝试测试 beginUniqueWork( Ensure Unique Work )的功能时,我的应用程序崩溃了

我只是通过多次选择图像来实现 beginUniqueWork 和测试应用程序。

我在 ViewModel 类的 aplyBlur() 中编写的代码是:

0 投票
1 回答
504 浏览

android - 即使在重复时间内从未满足设置的约束条件,androidx JetPack 工作管理器也会完成工作吗?

例如:我将时间间隔为 24 小时的 PeriodicWorkRequest 排队,并受到网络需求和充电的限制。如果在 24 小时内从未满足约束条件,那么工作经理是否会按照他们在 Android 开发指南网站“即发即弃”和“ WorkManager 用于需要保证系统会运行它们的任务”中提到的那样进行工作?

0 投票
5 回答
1811 浏览

android - DatePickerDialog 已将 androidx.fragment.app.DialogFragment 中的按钮涂黑

这个简单的类:

导致奇怪的行为按钮。重要的是我没有为对话框指定任何样式。来自包装DialogFragmentandroidx.fragment.app

对话

0 投票
0 回答
521 浏览

java - Android 从后台服务/房间调用 ViewModel

1)如何从后台服务访问/更改 ViewModel(例如 MainActivity),或者如何在服务的 LiveData 元素上设置观察者?

2) 当数据库中的一个特殊表有一个新元素时,应该观察我的 UI(因为后台服务插入了应该在活动视图中显示的新消息 - 例如聊天)。有没有办法做到这一点?

谢谢你的帮助!

0 投票
2 回答
6336 浏览

android - 显示运行 WorkManager 工作人员的详细进度

我想用新的 JetPack WorkManager(链接到codelabs)组件(在应用程序的沙箱分支中)替换我现有数据同步系统的作业调度方面。我现有的系统运行良好,但其中的一些新功能WorkManager会派上用场(例如链接)。

我当前的系统使用 sharedLiveData将正在进行的作业的进度传达给RecyclerView观察它的任何 UI 元素(在我的情况下)(我实际上是 SwitchMappingViewModel到 s 列表中SyncItem

WorkManager组件有多种方法(getStatusByIdgetStatusesByTag等)可用于检索带有一个或多个WorkStatuses 的 LiveData,但这些仅报告课程粒度状态(运行、成功、失败、已取消)。

向 UI 传达进度(例如“已下载 546/1234 个项目”)的推荐方式是什么?setOutputData/getOutputData对似乎更多地用于 s 之间的通信(Worker链接时我需要)而不是 UI。

附件是用户打开同步状态页面(已完成 2 个项目,正在进行中)时的屏幕截图(在我的应用程序的 [测试] 版本中使用我的旧方法)。

正在同步的屏幕截图

在最终产品中,用户将能够取消任何正在进行的工作并重新发出一次性工作请求。通常这些工作会被解雇PeriodicWorkRequest

0 投票
3 回答
949 浏览

android - 无导航编辑器 - Android Studio Canary 15 和 16

我正在为此绞尽脑汁。我正在尝试重构我的应用程序以使用 Android Studio Canary 15 中的新导航架构组件,我在创建 xml 文件时得到的只是以下消息,编辑器永远不会出现;

在此处输入图像描述

我已经卸载并重新安装了我安装的 Android Studio 和 Android Studio Canary 15(位于 C:\Program Files\Android\Android Studio 和 C:\Program Files\Android\Android Studio Canary 以及所有相关组件中C:\Users\[用户名]\.AndroidStudio 文件夹。

任何想法为什么这不起作用?

编辑:好的,现在有一条错误消息,当我禁用Android 支持插件时,我收到更多错误消息,告诉我重新启用插件!

编辑 2:我更新到 Canary 16,问题仍然存在。

在此处输入图像描述

编辑 3:我的导航图“main_graph.xml”如下;

0 投票
1 回答
3387 浏览

android - 具有干净架构的 Android 分页库

我正在尝试来自Android Architecture Component的分页库,但我怀疑将它集成到一个基于干净架构的项目中。

通常我有3个模块:

  • 主模块(应用程序)
  • 数据模块(具有网络和数据库依赖项的 Android 模块)
  • 域模块(纯 Kotlin 模块)

为了引入分页,我不得不将PagedList<T>类视为领域类。(IMO 并不是一个糟糕的主意,因为最后是一个列表并且数据源是抽象的)

所以在域层我可以有一个像这样的存储库:

然后在数据模块中创建这样的实现:

到目前为止,一切都很好。我的疑问是,当我们需要转换表示层的域模型时(假设我的项目需要知道是否被选中以显示选中的图标),通常我会将我的域模型映射到一个表示层。

我知道DataSourceFactorymapmapByPage方法,但工厂位于数据层。我的 Viewmodel 使用来自模型层的数据,在这种情况下是 a PagedList,据我所知,分页列表不支持映射。

那么在这种情况下应该做些什么呢?

0 投票
0 回答
256 浏览

android - 如何使用 Android Jetpack 的 Navigation 导航到第三方组件?

我浏览了 Google 的Android Jetpack Navigation示例,它确实极大地简化了应用程序组件之间的导航。

但是,我找不到任何示例如何实现对第三方库提供的组件的导航,例如应该以使用提供的构建器创建的意图启动并返回结果的活动。

示例 - 在我的主要活动中,如果用户未通过身份验证,我必须重定向到Firebase AuthUi登录页面:

我如何使用NavController而不是直接调用startActivityForResult来做到这一点?