android-architecture-components相关内容

如何在使用Compose UI时为每个列表项创建单独的视图模型?

我正在开发一款交易应用程序。我需要列出用户股票及其价值(收益或亏损)和投资组合的总价值。 对于持股列表,在MVP架构中,我会为每个列表项创建一个演示者,但对于这个应用程序,我决定使用MVVM(Compose、ViewModels和Hilt)。我的第一个想法是为每个列表项创建不同的视图模型。我在Composable方法签名中使用hiltViewModel()来创建我的ViewModel的实例, ..

未解决的参考:向目的地添加了一些参数后的 NavArgs

我正在做一个小项目并尝试使用新的导航架构组件.当我尝试向目标添加一些参数时,出现“未解析的引用:NavArgs"错误. 我遵循了本指南 https://developer.android.com/topic/libraries/architecture/navigation/navigation-pass-data#kotlin并且已经添加了 类路径“android.arch.navi ..

<androidx.fragment.app.FragmentContainerView>vs<片段>作为 NavHost 的视图

当使用 androidx.fragment.app.FragmentContainerView 作为 navHost 而不是常规的 fragment 应用程序在方向更改后无法导航到目的地. 我收到以下错误:java.lang.IllegalStateException: 没有当前导航节点 有没有我应该知道的正确使用它的问题,或者我使用导航组件的方式不正确? 带有视图的简单活动 x ..
发布时间:2022-01-10 17:28:17 移动开发

单元测试室和 LiveData

我目前正在使用新的 Android 架构组件.具体来说,我正在实现一个房间数据库,它在其查询之一上返回一个 LiveData 对象.插入和查询按预期工作,但是我在使用单元测试测试查询方法时遇到问题. 这是我要测试的 DAO: NotificationDao.kt @Dao接口 NotificationDao {@插入fun insertNotifications(vararg not ..

如何确保 WorkManager 取消我的 Worker?

WorkManager 文档中提到取消 Worker 是尽力而为 WorkManager 尽最大努力取消任务,但这是固有的不确定性——任务可能已经在运行或完成时你试图取消它 如果我有一个用例,强制Worker 在调用取消方法之一时被取消怎么办? 解决方案 正如您所写,WorkManager 只能尽力取消工作.特别是,如果一个任务计划运行,而您取消它,WorkManager 会将 ..

如何在后台线程上运行 ListenableWorker 工作?

因为我需要在 WorkManager 中异步执行工作,所以我需要使用 ListenableWorker,它默认在主 (UI) 线程上运行.由于这项工作可能是一个很长的处理任务,可能会冻结界面,因此我想在后台线程上执行它.在使用 WorkManager(Android 开发者峰会 '18)视频中,Google 工程师展示了如何手动配置 WorkManager 以在自定义 Executor 上运行作品 ..

WorkManager 中唯一的 OneTimeWorkRequest

我们正在使用 OneTimeWorkRequest 在我们的项目中启动后台任务. 在应用程序启动时,我们正在启动 OneTimeWorkRequest(比如 req A) 根据用户的操作,我们启动相同的工作请求 A. 在某些情况下,如果应用在工作请求 A 进行时被终止,Android 会在应用重启时自动重启请求 A.我们也再次启动请求 A.因此请求 A 的两个实例并行运行并导致死锁. ..

Worker 内部的同步或异步 Rxjava(来自 WorkManager 组件)什么是正确的选择?

我是新架构组件 WorkManager 的新手,我通过 Retrofit 和 RxJava 调用 API. 我的用例是从后端获取新帖子,然后显示通知并更新小部件. 所以 Worker 类的 doWork() 方法中的代码可能看起来像这样. @NonNull@覆盖公共结果 doWork() {AppDependencies appDependencies = new AppDepend ..

任务终止后,Android工作管理器计划的工作人员丢失

我正在尝试使用新的 WorkManager API 1.0.0-alpha06 每 15 分钟运行一次工作程序.如果我没有错,将工作管理器与 PeriodicWorkRequest 一起使用应该会使工作人员的任务终止并重新启动电话,但是当我从“最近的应用程序"中滑动任务时,预定的工作人员丢失了(我已经等了大约 45 分钟,以查看安排在 15 分钟间隔内的工作人员的任何日志). 这些是我的文件 ..

在屏幕旋转时重新创建 Android ViewModel

我发现了架构组件 ViewModel 未保留的情况 - 简而言之,如下所示: Activity 启动并创建 ViewModel 实例 活动被置于后台 设备屏幕旋转了 Activity 回到前台 调用ViewModel的onCleared方法并创建新对象 在这种情况下,我的 ViewModel 实例被破坏是 Android 的正常行为吗?如果是这样,是否有任何推荐的保持其状态的解 ..

查看 RecyclerView 项目的模型

我的活动有一个 Google 的 ViewModel,可以获取一些模型项.然后将这些项目转换为 RecyclerView 的适配器项目.一个 RecyclerView 还支持多种类型的适配器项. 我希望为这些模型对象中的每一个都有单独的视图模型对象,以便我可以将更复杂的逻辑封装在那个“小"视图模型中. 目前,当我有一些仅与某些适配器项相关的异步逻辑(需要在 onCleared() 中停 ..

Android 架构组件 ViewModel - 如何在测试 Activity 上模拟 ViewModel?

我正在尝试设置类似于 GithubBrowserSample 的 UI 测试,看起来示例项目只有 Fragment 的模拟 ViewModel 但没有Activity 的示例. 这是我尝试通过模拟 ViewModel 来测试 Activity 的代码.但是 ViewModel 没有在 Activity 中的 onCreate() 之前设置. @RunWith(AndroidJUnit4:: ..